home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 April: Mac OS SDK / Dev.CD Apr 99 SDK1.toast / Development Kits / Interfaces&Libraries / Universal / Interfaces / CIncludes / Files.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-08-17  |  106.9 KB  |  2,611 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        Files.h
  3.  
  4.      Contains:    File Manager (HFS and MFS) Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1985-1998 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __FILES__
  18. #define __FILES__
  19.  
  20. #ifndef __MACTYPES__
  21. #include <MacTypes.h>
  22. #endif
  23. #ifndef __MIXEDMODE__
  24. #include <MixedMode.h>
  25. #endif
  26. #ifndef __OSUTILS__
  27. #include <OSUtils.h>
  28. #endif
  29.  
  30. /* Finder constants where moved to Finder.≈ */
  31. #ifndef __FINDER__
  32. #include <Finder.h>
  33. #endif
  34.  
  35.  
  36.  
  37. #if PRAGMA_ONCE
  38. #pragma once
  39. #endif
  40.  
  41. #ifdef __cplusplus
  42. extern "C" {
  43. #endif
  44.  
  45. #if PRAGMA_IMPORT
  46. #pragma import on
  47. #endif
  48.  
  49. #if PRAGMA_STRUCT_ALIGN
  50.     #pragma options align=mac68k
  51. #elif PRAGMA_STRUCT_PACKPUSH
  52.     #pragma pack(push, 2)
  53. #elif PRAGMA_STRUCT_PACK
  54.     #pragma pack(2)
  55. #endif
  56.  
  57.  
  58. enum {
  59.     fsCurPerm                    = 0x00,                            /* open access permissions in ioPermssn */
  60.     fsRdPerm                    = 0x01,
  61.     fsWrPerm                    = 0x02,
  62.     fsRdWrPerm                    = 0x03,
  63.     fsRdWrShPerm                = 0x04,
  64.     fsRdDenyPerm                = 0x10,                            /* for use with OpenDeny and OpenRFDeny */
  65.     fsWrDenyPerm                = 0x20                            /* for use with OpenDeny and OpenRFDeny */
  66. };
  67.  
  68.  
  69. enum {
  70.     ioDirFlg                    = 4,                            /* directory bit in ioFlAttrib */
  71.     ioDirMask                    = 0x10
  72. };
  73.  
  74.  
  75. enum {
  76.     fsRtParID                    = 1,
  77.     fsRtDirID                    = 2
  78. };
  79.  
  80.  
  81. enum {
  82.     fsAtMark                    = 0,                            /* positioning modes in ioPosMode */
  83.     fsFromStart                    = 1,
  84.     fsFromLEOF                    = 2,
  85.     fsFromMark                    = 3
  86. };
  87.  
  88.  
  89. enum {
  90.                                                                 /* ioPosMode flags */
  91.     pleaseCacheBit                = 4,                            /* please cache this request */
  92.     pleaseCacheMask                = 0x0010,
  93.     noCacheBit                    = 5,                            /* please don't cache this request */
  94.     noCacheMask                    = 0x0020,
  95.     rdVerifyBit                    = 6,                            /* read verify mode */
  96.     rdVerifyMask                = 0x0040,
  97.     rdVerify                    = 64,                            /* old name of rdVerifyMask */
  98.     newLineBit                    = 7,                            /* newline mode */
  99.     newLineMask                    = 0x0080,
  100.     newLineCharMask                = 0xFF00                        /* newline character */
  101. };
  102.  
  103.  
  104.  
  105. enum {
  106.                                                                 /* CatSearch Search bitmask Constants */
  107.     fsSBPartialName                = 1,
  108.     fsSBFullName                = 2,
  109.     fsSBFlAttrib                = 4,
  110.     fsSBFlFndrInfo                = 8,
  111.     fsSBFlLgLen                    = 32,
  112.     fsSBFlPyLen                    = 64,
  113.     fsSBFlRLgLen                = 128,
  114.     fsSBFlRPyLen                = 256,
  115.     fsSBFlCrDat                    = 512,
  116.     fsSBFlMdDat                    = 1024,
  117.     fsSBFlBkDat                    = 2048,
  118.     fsSBFlXFndrInfo                = 4096,
  119.     fsSBFlParID                    = 8192,
  120.     fsSBNegate                    = 16384,
  121.     fsSBDrUsrWds                = 8,
  122.     fsSBDrNmFls                    = 16,
  123.     fsSBDrCrDat                    = 512,
  124.     fsSBDrMdDat                    = 1024,
  125.     fsSBDrBkDat                    = 2048,
  126.     fsSBDrFndrInfo                = 4096,
  127.     fsSBDrParID                    = 8192
  128. };
  129.  
  130.  
  131. enum {
  132.                                                                 /* CatSearch Search bit value Constants */
  133.     fsSBPartialNameBit            = 0,                            /*ioFileName points to a substring*/
  134.     fsSBFullNameBit                = 1,                            /*ioFileName points to a match string*/
  135.     fsSBFlAttribBit                = 2,                            /*search includes file attributes*/
  136.     fsSBFlFndrInfoBit            = 3,                            /*search includes finder info*/
  137.     fsSBFlLgLenBit                = 5,                            /*search includes data logical length*/
  138.     fsSBFlPyLenBit                = 6,                            /*search includes data physical length*/
  139.     fsSBFlRLgLenBit                = 7,                            /*search includes resource logical length*/
  140.     fsSBFlRPyLenBit                = 8,                            /*search includes resource physical length*/
  141.     fsSBFlCrDatBit                = 9,                            /*search includes create date*/
  142.     fsSBFlMdDatBit                = 10,                            /*search includes modification date*/
  143.     fsSBFlBkDatBit                = 11,                            /*search includes backup date*/
  144.     fsSBFlXFndrInfoBit            = 12,                            /*search includes extended finder info*/
  145.     fsSBFlParIDBit                = 13,                            /*search includes file's parent ID*/
  146.     fsSBNegateBit                = 14,                            /*return all non-matches*/
  147.     fsSBDrUsrWdsBit                = 3,                            /*search includes directory finder info*/
  148.     fsSBDrNmFlsBit                = 4,                            /*search includes directory valence*/
  149.     fsSBDrCrDatBit                = 9,                            /*directory-named version of fsSBFlCrDatBit*/
  150.     fsSBDrMdDatBit                = 10,                            /*directory-named version of fsSBFlMdDatBit*/
  151.     fsSBDrBkDatBit                = 11,                            /*directory-named version of fsSBFlBkDatBit*/
  152.     fsSBDrFndrInfoBit            = 12,                            /*directory-named version of fsSBFlXFndrInfoBit*/
  153.     fsSBDrParIDBit                = 13                            /*directory-named version of fsSBFlParIDBit*/
  154. };
  155.  
  156.  
  157. enum {
  158.                                                                 /* vMAttrib (GetVolParms) bit position constants */
  159.     bLimitFCBs                    = 31,
  160.     bLocalWList                    = 30,
  161.     bNoMiniFndr                    = 29,
  162.     bNoVNEdit                    = 28,
  163.     bNoLclSync                    = 27,
  164.     bTrshOffLine                = 26,
  165.     bNoSwitchTo                    = 25,
  166.     bNoDeskItems                = 20,
  167.     bNoBootBlks                    = 19,
  168.     bAccessCntl                    = 18,
  169.     bNoSysDir                    = 17,
  170.     bHasExtFSVol                = 16,
  171.     bHasOpenDeny                = 15,
  172.     bHasCopyFile                = 14,
  173.     bHasMoveRename                = 13,
  174.     bHasDesktopMgr                = 12,
  175.     bHasShortName                = 11,
  176.     bHasFolderLock                = 10,
  177.     bHasPersonalAccessPrivileges = 9,
  178.     bHasUserGroupList            = 8,
  179.     bHasCatSearch                = 7,
  180.     bHasFileIDs                    = 6,
  181.     bHasBTreeMgr                = 5,
  182.     bHasBlankAccessPrivileges    = 4,
  183.     bSupportsAsyncRequests        = 3,                            /* asynchronous requests to this volume are handled correctly at any time*/
  184.     bSupportsTrashVolumeCache    = 2
  185. };
  186.  
  187.  
  188.  
  189. enum {
  190.                                                                 /* Desktop Database icon Constants */
  191.     kLargeIcon                    = 1,
  192.     kLarge4BitIcon                = 2,
  193.     kLarge8BitIcon                = 3,
  194.     kSmallIcon                    = 4,
  195.     kSmall4BitIcon                = 5,
  196.     kSmall8BitIcon                = 6
  197. };
  198.  
  199.  
  200. enum {
  201.     kLargeIconSize                = 256,
  202.     kLarge4BitIconSize            = 512,
  203.     kLarge8BitIconSize            = 1024,
  204.     kSmallIconSize                = 64,
  205.     kSmall4BitIconSize            = 128,
  206.     kSmall8BitIconSize            = 256
  207. };
  208.  
  209.  
  210. enum {
  211.                                                                 /* Foreign Privilege Model Identifiers */
  212.     fsUnixPriv                    = 1
  213. };
  214.  
  215.  
  216. enum {
  217.                                                                 /* Authentication Constants */
  218.     kNoUserAuthentication        = 1,
  219.     kPassword                    = 2,
  220.     kEncryptPassword            = 3,
  221.     kTwoWayEncryptPassword        = 6
  222. };
  223.  
  224.  
  225. /* mapping codes (ioObjType) for MapName & MapID */
  226.  
  227. enum {
  228.     kOwnerID2Name                = 1,
  229.     kGroupID2Name                = 2,
  230.     kOwnerName2ID                = 3,
  231.     kGroupName2ID                = 4,                            /* types of oj object to be returned (ioObjType) for _GetUGEntry */
  232.     kReturnNextUser                = 1,
  233.     kReturnNextGroup            = 2,
  234.     kReturnNextUG                = 3
  235. };
  236.  
  237.  
  238.  
  239. /* Folder and File values of access privileges */
  240.  
  241. enum {
  242.     kfullPrivileges                = 0x00070007,                    /*            ; all privileges for everybody and owner*/
  243.     kownerPrivileges            = 0x00000007                    /*            ; all privileges for owner only*/
  244. };
  245.  
  246. /* values of user IDs and group IDs */
  247.  
  248. enum {
  249.     knoUser                        = 0,
  250.     kadministratorUser            = 1
  251. };
  252.  
  253.  
  254. enum {
  255.     knoGroup                    = 0
  256. };
  257.  
  258.  
  259.  
  260. struct GetVolParmsInfoBuffer {
  261.     short                             vMVersion;                    /*version number*/
  262.     long                             vMAttrib;                    /*bit vector of attributes (see vMAttrib constants)*/
  263.     Handle                             vMLocalHand;                /*handle to private data*/
  264.     long                             vMServerAdr;                /*AppleTalk server address or zero*/
  265.     long                             vMVolumeGrade;                /*approx. speed rating or zero if unrated*/
  266.     short                             vMForeignPrivID;            /*foreign privilege model supported or zero if none*/
  267. };
  268. typedef struct GetVolParmsInfoBuffer    GetVolParmsInfoBuffer;
  269. typedef union ParamBlockRec             ParamBlockRec;
  270.  
  271. typedef ParamBlockRec *                    ParmBlkPtr;
  272. typedef CALLBACK_API( void , IOCompletionProcPtr )(ParmBlkPtr paramBlock);
  273. /*
  274.     WARNING: IOCompletionProcPtr uses register based parameters under classic 68k
  275.              and cannot be written in a high-level language without 
  276.              the help of mixed mode or assembly glue.
  277. */
  278. typedef REGISTER_UPP_TYPE(IOCompletionProcPtr)                     IOCompletionUPP;
  279.  
  280. struct IOParam {
  281.     QElemPtr                         qLink;                        /*queue link in header*/
  282.     short                             qType;                        /*type byte for safety check*/
  283.     short                             ioTrap;                        /*FS: the Trap*/
  284.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  285.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  286.     OSErr                             ioResult;                    /*result code*/
  287.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  288.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  289.     short                             ioRefNum;                    /*refNum for I/O operation*/
  290.     SInt8                             ioVersNum;                    /*version number*/
  291.     SInt8                             ioPermssn;                    /*Open: permissions (byte)*/
  292.     Ptr                             ioMisc;                        /*Rename: new name (GetEOF,SetEOF: logical end of file) (Open: optional ptr to buffer) (SetFileType: new type)*/
  293.     Ptr                             ioBuffer;                    /*data buffer Ptr*/
  294.     long                             ioReqCount;                    /*requested byte count; also = ioNewDirID*/
  295.     long                             ioActCount;                    /*actual byte count completed*/
  296.     short                             ioPosMode;                    /*initial file positioning*/
  297.     long                             ioPosOffset;                /*file position offset*/
  298. };
  299. typedef struct IOParam                    IOParam;
  300. typedef IOParam *                        IOParamPtr;
  301.  
  302. struct FileParam {
  303.     QElemPtr                         qLink;                        /*queue link in header*/
  304.     short                             qType;                        /*type byte for safety check*/
  305.     short                             ioTrap;                        /*FS: the Trap*/
  306.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  307.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  308.     OSErr                             ioResult;                    /*result code*/
  309.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  310.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  311.     short                             ioFRefNum;                    /*reference number*/
  312.     SInt8                             ioFVersNum;                    /*version number*/
  313.     SInt8                             filler1;
  314.     short                             ioFDirIndex;                /*GetFInfo directory index*/
  315.     SInt8                             ioFlAttrib;                    /*GetFInfo: in-use bit=7, lock bit=0*/
  316.     SInt8                             ioFlVersNum;                /*file version number*/
  317.     FInfo                             ioFlFndrInfo;                /*user info*/
  318.     unsigned long                     ioFlNum;                    /*GetFInfo: file number; TF- ioDirID*/
  319.     unsigned short                     ioFlStBlk;                    /*start file block (0 if none)*/
  320.     long                             ioFlLgLen;                    /*logical length (EOF)*/
  321.     long                             ioFlPyLen;                    /*physical length*/
  322.     unsigned short                     ioFlRStBlk;                    /*start block rsrc fork*/
  323.     long                             ioFlRLgLen;                    /*file logical length rsrc fork*/
  324.     long                             ioFlRPyLen;                    /*file physical length rsrc fork*/
  325.     unsigned long                     ioFlCrDat;                    /*file creation date& time (32 bits in secs)*/
  326.     unsigned long                     ioFlMdDat;                    /*last modified date and time*/
  327. };
  328. typedef struct FileParam                FileParam;
  329. typedef FileParam *                        FileParamPtr;
  330.  
  331. struct VolumeParam {
  332.     QElemPtr                         qLink;                        /*queue link in header*/
  333.     short                             qType;                        /*type byte for safety check*/
  334.     short                             ioTrap;                        /*FS: the Trap*/
  335.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  336.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  337.     OSErr                             ioResult;                    /*result code*/
  338.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  339.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  340.     long                             filler2;
  341.     short                             ioVolIndex;                    /*volume index number*/
  342.     unsigned long                     ioVCrDate;                    /*creation date and time*/
  343.     unsigned long                     ioVLsBkUp;                    /*last backup date and time*/
  344.     unsigned short                     ioVAtrb;                    /*volume attrib*/
  345.     unsigned short                     ioVNmFls;                    /*number of files in directory*/
  346.     unsigned short                     ioVDirSt;                    /*start block of file directory*/
  347.     short                             ioVBlLn;                    /*GetVolInfo: length of dir in blocks*/
  348.     unsigned short                     ioVNmAlBlks;                /*for compatibilty ioVNmAlBlks * ioVAlBlkSiz <= 2 GB*/
  349.     unsigned long                     ioVAlBlkSiz;                /*for compatibilty ioVAlBlkSiz is <= $0000FE00 (65,024)*/
  350.     unsigned long                     ioVClpSiz;                    /*GetVolInfo: bytes to allocate at a time*/
  351.     unsigned short                     ioAlBlSt;                    /*starting disk(512-byte) block in block map*/
  352.     unsigned long                     ioVNxtFNum;                    /*GetVolInfo: next free file number*/
  353.     unsigned short                     ioVFrBlk;                    /*GetVolInfo: # free alloc blks for this vol*/
  354. };
  355. typedef struct VolumeParam                VolumeParam;
  356. typedef VolumeParam *                    VolumeParamPtr;
  357.  
  358. struct CntrlParam {
  359.     QElemPtr                         qLink;                        /*queue link in header*/
  360.     short                             qType;                        /*type byte for safety check*/
  361.     short                             ioTrap;                        /*FS: the Trap*/
  362.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  363.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  364.     OSErr                             ioResult;                    /*result code*/
  365.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  366.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  367.     short                             ioCRefNum;                    /*refNum for I/O operation*/
  368.     short                             csCode;                        /*word for control status code*/
  369.     short                             csParam[11];                /*operation-defined parameters*/
  370. };
  371. typedef struct CntrlParam                CntrlParam;
  372. typedef CntrlParam *                    CntrlParamPtr;
  373.  
  374. struct SlotDevParam {
  375.     QElemPtr                         qLink;                        /*queue link in header*/
  376.     short                             qType;                        /*type byte for safety check*/
  377.     short                             ioTrap;                        /*FS: the Trap*/
  378.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  379.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  380.     OSErr                             ioResult;                    /*result code*/
  381.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  382.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  383.     short                             ioSRefNum;
  384.     SInt8                             ioSVersNum;
  385.     SInt8                             ioSPermssn;
  386.     Ptr                             ioSMix;
  387.     short                             ioSFlags;
  388.     SInt8                             ioSlot;
  389.     SInt8                             ioID;
  390. };
  391. typedef struct SlotDevParam                SlotDevParam;
  392. typedef SlotDevParam *                    SlotDevParamPtr;
  393.  
  394. struct MultiDevParam {
  395.     QElemPtr                         qLink;                        /*queue link in header*/
  396.     short                             qType;                        /*type byte for safety check*/
  397.     short                             ioTrap;                        /*FS: the Trap*/
  398.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  399.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  400.     OSErr                             ioResult;                    /*result code*/
  401.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  402.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  403.     short                             ioMRefNum;
  404.     SInt8                             ioMVersNum;
  405.     SInt8                             ioMPermssn;
  406.     Ptr                             ioMMix;
  407.     short                             ioMFlags;
  408.     Ptr                             ioSEBlkPtr;
  409. };
  410. typedef struct MultiDevParam            MultiDevParam;
  411. typedef MultiDevParam *                    MultiDevParamPtr;
  412.  
  413. union ParamBlockRec {
  414.     IOParam                         ioParam;
  415.     FileParam                         fileParam;
  416.     VolumeParam                     volumeParam;
  417.     CntrlParam                         cntrlParam;
  418.     SlotDevParam                     slotDevParam;
  419.     MultiDevParam                     multiDevParam;
  420. };
  421.  
  422.  
  423. struct HFileInfo {
  424.     QElemPtr                         qLink;                        /*queue link in header*/
  425.     short                             qType;                        /*type byte for safety check*/
  426.     short                             ioTrap;                        /*FS: the Trap*/
  427.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  428.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  429.     OSErr                             ioResult;                    /*result code*/
  430.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  431.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  432.     short                             ioFRefNum;
  433.     SInt8                             ioFVersNum;
  434.     SInt8                             filler1;
  435.     short                             ioFDirIndex;
  436.     SInt8                             ioFlAttrib;
  437.     SInt8                             ioACUser;
  438.     FInfo                             ioFlFndrInfo;
  439.     long                             ioDirID;
  440.     unsigned short                     ioFlStBlk;
  441.     long                             ioFlLgLen;
  442.     long                             ioFlPyLen;
  443.     unsigned short                     ioFlRStBlk;
  444.     long                             ioFlRLgLen;
  445.     long                             ioFlRPyLen;
  446.     unsigned long                     ioFlCrDat;
  447.     unsigned long                     ioFlMdDat;
  448.     unsigned long                     ioFlBkDat;
  449.     FXInfo                             ioFlXFndrInfo;
  450.     long                             ioFlParID;
  451.     long                             ioFlClpSiz;
  452. };
  453. typedef struct HFileInfo                HFileInfo;
  454.  
  455. struct DirInfo {
  456.     QElemPtr                         qLink;                        /*queue link in header*/
  457.     short                             qType;                        /*type byte for safety check*/
  458.     short                             ioTrap;                        /*FS: the Trap*/
  459.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  460.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  461.     OSErr                             ioResult;                    /*result code*/
  462.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  463.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  464.     short                             ioFRefNum;
  465.     SInt8                             ioFVersNum;
  466.     SInt8                             filler1;
  467.     short                             ioFDirIndex;
  468.     SInt8                             ioFlAttrib;
  469.     SInt8                             ioACUser;
  470.     DInfo                             ioDrUsrWds;
  471.     long                             ioDrDirID;
  472.     unsigned short                     ioDrNmFls;
  473.     short                             filler3[9];
  474.     unsigned long                     ioDrCrDat;
  475.     unsigned long                     ioDrMdDat;
  476.     unsigned long                     ioDrBkDat;
  477.     DXInfo                             ioDrFndrInfo;
  478.     long                             ioDrParID;
  479. };
  480. typedef struct DirInfo                    DirInfo;
  481.  
  482. union CInfoPBRec {
  483.     HFileInfo                         hFileInfo;
  484.     DirInfo                         dirInfo;
  485. };
  486. typedef union CInfoPBRec                CInfoPBRec;
  487.  
  488. typedef CInfoPBRec *                    CInfoPBPtr;
  489.  
  490. struct XCInfoPBRec {
  491.     QElemPtr                         qLink;
  492.     short                             qType;
  493.     short                             ioTrap;
  494.     Ptr                             ioCmdAddr;
  495.     ProcPtr                         ioCompletion;                /* --> A pointer to a completion routine */
  496.     OSErr                             ioResult;                    /* --> The result code of the function */
  497.     StringPtr                         ioNamePtr;                    /* --> Pointer to pathname to object */
  498.     short                             ioVRefNum;                    /* --> A volume specification */
  499.     long                             filler1;
  500.     StringPtr                         ioShortNamePtr;                /* <-> A pointer to the short name string buffer - required! */
  501.     short                             filler2;
  502.     short                             ioPDType;                    /* <-- The ProDOS file type */
  503.     long                             ioPDAuxType;                /* <-- The ProDOS aux type */
  504.     long                             filler3[2];
  505.     long                             ioDirID;                    /* --> A directory ID */
  506. };
  507. typedef struct XCInfoPBRec                XCInfoPBRec;
  508.  
  509. typedef XCInfoPBRec *                    XCInfoPBPtr;
  510. /* Catalog position record */
  511.  
  512. struct CatPositionRec {
  513.     long                             initialize;
  514.     short                             priv[6];
  515. };
  516. typedef struct CatPositionRec            CatPositionRec;
  517.  
  518. struct FSSpec {
  519.     short                             vRefNum;
  520.     long                             parID;
  521.     StrFileName                     name;                        /* a Str63 on MacOS*/
  522. };
  523. typedef struct FSSpec                    FSSpec;
  524. typedef FSSpec *                        FSSpecPtr;
  525. typedef FSSpecPtr *                        FSSpecHandle;
  526. /* pointer to array of FSSpecs */
  527. typedef FSSpecPtr                         FSSpecArrayPtr;
  528. /* 
  529.     The only difference between "const FSSpec*" and "ConstFSSpecPtr" is 
  530.     that as a parameter, ConstFSSpecPtr is allowed to be NULL 
  531. */
  532.  
  533. typedef const FSSpec *                    ConstFSSpecPtr;
  534.  
  535. /* 
  536.     The following are structures to be filled out with the _PBGetVolMountInfo call
  537.     and passed back into the _PBVolumeMount call for external file system mounts. 
  538. */
  539. /* the "signature" of the file system */
  540. typedef OSType                             VolumeType;
  541.  
  542. enum {
  543.                                                                 /* the signature for AppleShare */
  544.     AppleShareMediaType            = FOUR_CHAR_CODE('afpm')
  545. };
  546.  
  547. /*
  548.     VolMount stuff was once in FSM.≈
  549. */
  550.  
  551. struct VolMountInfoHeader {
  552.     short                             length;                        /* length of location data (including self) */
  553.     VolumeType                         media;                        /* type of media.  Variable length data follows */
  554. };
  555. typedef struct VolMountInfoHeader        VolMountInfoHeader;
  556.  
  557. typedef VolMountInfoHeader *            VolMountInfoPtr;
  558. /* The new volume mount info record.  The old one is included for compatibility. 
  559.     the new record allows access by foriegn filesystems writers to the flags 
  560.     portion of the record. This portion is now public.  
  561. */
  562.  
  563. struct VolumeMountInfoHeader {
  564.     short                             length;                        /* length of location data (including self) */
  565.     VolumeType                         media;                        /* type of media (must be registered with Apple) */
  566.     short                             flags;                        /* volume mount flags. Variable length data follows */
  567. };
  568. typedef struct VolumeMountInfoHeader    VolumeMountInfoHeader;
  569. typedef VolumeMountInfoHeader *            VolumeMountInfoHeaderPtr;
  570. /* volume mount flags */
  571.  
  572. enum {
  573.     volMountNoLoginMsgFlagBit    = 0,                            /* Input to VolumeMount: If set, the file system */
  574.     volMountNoLoginMsgFlagMask    = 0x0001,                        /*  should suppresss any log-in message/greeting dialog */
  575.     volMountExtendedFlagsBit    = 7,                            /* Input to VolumeMount: If set, the mount info is a */
  576.     volMountExtendedFlagsMask    = 0x0080,                        /*  AFPXVolMountInfo record for 3.7 AppleShare Client */
  577.     volMountInteractBit            = 15,                            /* Input to VolumeMount: If set, it's OK for the file system */
  578.     volMountInteractMask        = 0x8000,                        /*  to perform user interaction to mount the volume */
  579.     volMountChangedBit            = 14,                            /* Output from VoumeMount: If set, the volume was mounted, but */
  580.     volMountChangedMask            = 0x4000,                        /*  the volume mounting information record needs to be updated. */
  581.     volMountFSReservedMask        = 0x00FF,                        /* bits 0-7 are defined by each file system for its own use */
  582.     volMountSysReservedMask        = 0xFF00                        /* bits 8-15 are reserved for Apple system use */
  583. };
  584.  
  585.  
  586.  
  587.  
  588. struct AFPVolMountInfo {
  589.     short                             length;                        /* length of location data (including self) */
  590.     VolumeType                         media;                        /* type of media */
  591.     short                             flags;                        /* bits for no messages, no reconnect */
  592.     SInt8                             nbpInterval;                /* NBP Interval parameter (IM2, p.322) */
  593.     SInt8                             nbpCount;                    /* NBP Interval parameter (IM2, p.322) */
  594.     short                             uamType;                    /* User Authentication Method */
  595.     short                             zoneNameOffset;                /* short positive offset from start of struct to Zone Name */
  596.     short                             serverNameOffset;            /* offset to pascal Server Name string */
  597.     short                             volNameOffset;                /* offset to pascal Volume Name string */
  598.     short                             userNameOffset;                /* offset to pascal User Name string */
  599.     short                             userPasswordOffset;            /* offset to pascal User Password string */
  600.     short                             volPasswordOffset;            /* offset to pascal Volume Password string */
  601.     char                             AFPData[144];                /* variable length data may follow */
  602. };
  603. typedef struct AFPVolMountInfo            AFPVolMountInfo;
  604. typedef AFPVolMountInfo *                AFPVolMountInfoPtr;
  605.  
  606.  
  607. /* AFPXVolMountInfo is the new AFP volume mount info record, requires the 3.7 AppleShare Client */
  608.  
  609. struct AFPXVolMountInfo {
  610.     short                             length;                        /* length of location data (including self) */
  611.     VolumeType                         media;                        /* type of media */
  612.     short                             flags;                        /* bits for no messages, no reconnect */
  613.     SInt8                             nbpInterval;                /* NBP Interval parameter (IM2, p.322) */
  614.     SInt8                             nbpCount;                    /* NBP Interval parameter (IM2, p.322) */
  615.     short                             uamType;                    /* User Authentication Method type */
  616.     short                             zoneNameOffset;                /* short positive offset from start of struct to Zone Name */
  617.     short                             serverNameOffset;            /* offset to pascal Server Name string */
  618.     short                             volNameOffset;                /* offset to pascal Volume Name string */
  619.     short                             userNameOffset;                /* offset to pascal User Name string */
  620.     short                             userPasswordOffset;            /* offset to pascal User Password string */
  621.     short                             volPasswordOffset;            /* offset to pascal Volume Password string */
  622.     short                             extendedFlags;                /* extended flags word */
  623.     short                             uamNameOffset;                /* offset to a pascal UAM name string */
  624.     short                             alternateAddressOffset;        /* offset to Alternate Addresses in tagged format */
  625.     char                             AFPData[176];                /* variable length data may follow */
  626. };
  627. typedef struct AFPXVolMountInfo            AFPXVolMountInfo;
  628. typedef AFPXVolMountInfo *                AFPXVolMountInfoPtr;
  629.  
  630. enum {
  631.     kAFPExtendedFlagsAlternateAddressMask = 1                    /*  bit in AFPXVolMountInfo.extendedFlags that means alternateAddressOffset is used*/
  632. };
  633.  
  634.  
  635.  
  636. enum {
  637.                                                                 /* constants for use in AFPTagData.fType field*/
  638.     kAFPTagTypeIP                = 0x01,
  639.     kAFPTagTypeIPPort            = 0x02,
  640.     kAFPTagTypeDDP                = 0x03                            /* Currently unused*/
  641. };
  642.  
  643.  
  644.  
  645. enum {
  646.                                                                 /* constants for use in AFPTagData.fLength field*/
  647.     kAFPTagLengthIP                = 0x06,
  648.     kAFPTagLengthIPPort            = 0x08,
  649.     kAFPTagLengthDDP            = 0x06
  650. };
  651.  
  652.  
  653. struct AFPTagData {
  654.     UInt8                             fLength;                    /* length of this data tag including the fLength field */
  655.     UInt8                             fType;
  656.     UInt8                             fData[1];                    /* variable length data */
  657. };
  658. typedef struct AFPTagData                AFPTagData;
  659.  
  660. struct AFPAlternateAddress {
  661.     UInt8                             fAddressCount;
  662.     UInt8                             fAddressList[1];            /* actually variable length packed set of AFPTagData */
  663. };
  664. typedef struct AFPAlternateAddress        AFPAlternateAddress;
  665.  
  666.  
  667.  
  668. struct DTPBRec {
  669.     QElemPtr                         qLink;                        /*queue link in header*/
  670.     short                             qType;                        /*type byte for safety check*/
  671.     short                             ioTrap;                        /*FS: the Trap*/
  672.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  673.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  674.     OSErr                             ioResult;                    /*result code*/
  675.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  676.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  677.     short                             ioDTRefNum;                    /* desktop refnum */
  678.     short                             ioIndex;
  679.     long                             ioTagInfo;
  680.     Ptr                             ioDTBuffer;
  681.     long                             ioDTReqCount;
  682.     long                             ioDTActCount;
  683.     SInt8                             ioFiller1;
  684.     SInt8                             ioIconType;
  685.     short                             ioFiller2;
  686.     long                             ioDirID;
  687.     OSType                             ioFileCreator;
  688.     OSType                             ioFileType;
  689.     long                             ioFiller3;
  690.     long                             ioDTLgLen;
  691.     long                             ioDTPyLen;
  692.     short                             ioFiller4[14];
  693.     long                             ioAPPLParID;
  694. };
  695. typedef struct DTPBRec                    DTPBRec;
  696.  
  697. typedef DTPBRec *                        DTPBPtr;
  698.  
  699. struct HIOParam {
  700.     QElemPtr                         qLink;                        /*queue link in header*/
  701.     short                             qType;                        /*type byte for safety check*/
  702.     short                             ioTrap;                        /*FS: the Trap*/
  703.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  704.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  705.     OSErr                             ioResult;                    /*result code*/
  706.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  707.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  708.     short                             ioRefNum;
  709.     SInt8                             ioVersNum;
  710.     SInt8                             ioPermssn;
  711.     Ptr                             ioMisc;
  712.     Ptr                             ioBuffer;
  713.     long                             ioReqCount;
  714.     long                             ioActCount;
  715.     short                             ioPosMode;
  716.     long                             ioPosOffset;
  717. };
  718. typedef struct HIOParam                    HIOParam;
  719. typedef HIOParam *                        HIOParamPtr;
  720.  
  721. struct HFileParam {
  722.     QElemPtr                         qLink;                        /*queue link in header*/
  723.     short                             qType;                        /*type byte for safety check*/
  724.     short                             ioTrap;                        /*FS: the Trap*/
  725.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  726.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  727.     OSErr                             ioResult;                    /*result code*/
  728.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  729.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  730.     short                             ioFRefNum;
  731.     SInt8                             ioFVersNum;
  732.     SInt8                             filler1;
  733.     short                             ioFDirIndex;
  734.     SInt8                             ioFlAttrib;
  735.     SInt8                             ioFlVersNum;
  736.     FInfo                             ioFlFndrInfo;
  737.     long                             ioDirID;
  738.     unsigned short                     ioFlStBlk;
  739.     long                             ioFlLgLen;
  740.     long                             ioFlPyLen;
  741.     unsigned short                     ioFlRStBlk;
  742.     long                             ioFlRLgLen;
  743.     long                             ioFlRPyLen;
  744.     unsigned long                     ioFlCrDat;
  745.     unsigned long                     ioFlMdDat;
  746. };
  747. typedef struct HFileParam                HFileParam;
  748. typedef HFileParam *                    HFileParamPtr;
  749.  
  750. struct HVolumeParam {
  751.     QElemPtr                         qLink;                        /*queue link in header*/
  752.     short                             qType;                        /*type byte for safety check*/
  753.     short                             ioTrap;                        /*FS: the Trap*/
  754.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  755.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  756.     OSErr                             ioResult;                    /*result code*/
  757.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  758.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  759.     long                             filler2;
  760.     short                             ioVolIndex;
  761.     unsigned long                     ioVCrDate;
  762.     unsigned long                     ioVLsMod;
  763.     short                             ioVAtrb;
  764.     unsigned short                     ioVNmFls;
  765.     unsigned short                     ioVBitMap;
  766.     unsigned short                     ioAllocPtr;
  767.     unsigned short                     ioVNmAlBlks;
  768.     unsigned long                     ioVAlBlkSiz;
  769.     unsigned long                     ioVClpSiz;
  770.     unsigned short                     ioAlBlSt;
  771.     unsigned long                     ioVNxtCNID;
  772.     unsigned short                     ioVFrBlk;
  773.     unsigned short                     ioVSigWord;
  774.     short                             ioVDrvInfo;
  775.     short                             ioVDRefNum;
  776.     short                             ioVFSID;
  777.     unsigned long                     ioVBkUp;
  778.     short                             ioVSeqNum;
  779.     unsigned long                     ioVWrCnt;
  780.     unsigned long                     ioVFilCnt;
  781.     unsigned long                     ioVDirCnt;
  782.     long                             ioVFndrInfo[8];
  783. };
  784. typedef struct HVolumeParam                HVolumeParam;
  785. typedef HVolumeParam *                    HVolumeParamPtr;
  786.  
  787. enum {
  788.                                                                 /* Large Volume Constants */
  789.     kWidePosOffsetBit            = 8,
  790.     kUseWidePositioning            = (1 << kWidePosOffsetBit),
  791.     kMaximumBlocksIn4GB            = 0x007FFFFF
  792. };
  793.  
  794.  
  795. struct XIOParam {
  796.     QElemPtr                         qLink;
  797.     short                             qType;
  798.     short                             ioTrap;
  799.     Ptr                             ioCmdAddr;
  800.     IOCompletionUPP                 ioCompletion;
  801.     OSErr                             ioResult;
  802.     StringPtr                         ioNamePtr;
  803.     short                             ioVRefNum;
  804.     short                             ioRefNum;
  805.     SInt8                             ioVersNum;
  806.     SInt8                             ioPermssn;
  807.     Ptr                             ioMisc;
  808.     Ptr                             ioBuffer;
  809.     long                             ioReqCount;
  810.     long                             ioActCount;
  811.     short                             ioPosMode;                    /* must have kUseWidePositioning bit set */
  812.     wide                             ioWPosOffset;                /* wide positioning offset */
  813. };
  814. typedef struct XIOParam                    XIOParam;
  815. typedef XIOParam *                        XIOParamPtr;
  816.  
  817. struct XVolumeParam {
  818.     QElemPtr                         qLink;
  819.     short                             qType;
  820.     short                             ioTrap;
  821.     Ptr                             ioCmdAddr;
  822.     IOCompletionUPP                 ioCompletion;
  823.     OSErr                             ioResult;
  824.     StringPtr                         ioNamePtr;
  825.     short                             ioVRefNum;
  826.     unsigned long                     ioXVersion;                    /* this XVolumeParam version (0) */
  827.     short                             ioVolIndex;
  828.     unsigned long                     ioVCrDate;
  829.     unsigned long                     ioVLsMod;
  830.     short                             ioVAtrb;
  831.     unsigned short                     ioVNmFls;
  832.     unsigned short                     ioVBitMap;
  833.     unsigned short                     ioAllocPtr;
  834.     unsigned short                     ioVNmAlBlks;
  835.     unsigned long                     ioVAlBlkSiz;
  836.     unsigned long                     ioVClpSiz;
  837.     unsigned short                     ioAlBlSt;
  838.     unsigned long                     ioVNxtCNID;
  839.     unsigned short                     ioVFrBlk;
  840.     unsigned short                     ioVSigWord;
  841.     short                             ioVDrvInfo;
  842.     short                             ioVDRefNum;
  843.     short                             ioVFSID;
  844.     unsigned long                     ioVBkUp;
  845.     short                             ioVSeqNum;
  846.     unsigned long                     ioVWrCnt;
  847.     unsigned long                     ioVFilCnt;
  848.     unsigned long                     ioVDirCnt;
  849.     long                             ioVFndrInfo[8];
  850.     UnsignedWide                     ioVTotalBytes;                /* total number of bytes on volume */
  851.     UnsignedWide                     ioVFreeBytes;                /* number of free bytes on volume */
  852. };
  853. typedef struct XVolumeParam                XVolumeParam;
  854. typedef XVolumeParam *                    XVolumeParamPtr;
  855.  
  856. struct AccessParam {
  857.     QElemPtr                         qLink;                        /*queue link in header*/
  858.     short                             qType;                        /*type byte for safety check*/
  859.     short                             ioTrap;                        /*FS: the Trap*/
  860.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  861.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  862.     OSErr                             ioResult;                    /*result code*/
  863.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  864.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  865.     short                             filler3;
  866.     short                             ioDenyModes;                /*access rights data*/
  867.     short                             filler4;
  868.     SInt8                             filler5;
  869.     SInt8                             ioACUser;                    /*access rights for directory only*/
  870.     long                             filler6;
  871.     long                             ioACOwnerID;                /*owner ID*/
  872.     long                             ioACGroupID;                /*group ID*/
  873.     long                             ioACAccess;                    /*access rights*/
  874.     long                             ioDirID;
  875. };
  876. typedef struct AccessParam                AccessParam;
  877. typedef AccessParam *                    AccessParamPtr;
  878.  
  879. struct ObjParam {
  880.     QElemPtr                         qLink;                        /*queue link in header*/
  881.     short                             qType;                        /*type byte for safety check*/
  882.     short                             ioTrap;                        /*FS: the Trap*/
  883.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  884.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  885.     OSErr                             ioResult;                    /*result code*/
  886.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  887.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  888.     short                             filler7;
  889.     short                             ioObjType;                    /*function code*/
  890.     StringPtr                         ioObjNamePtr;                /*ptr to returned creator/group name*/
  891.     long                             ioObjID;                    /*creator/group ID*/
  892. };
  893. typedef struct ObjParam                    ObjParam;
  894. typedef ObjParam *                        ObjParamPtr;
  895.  
  896. struct CopyParam {
  897.     QElemPtr                         qLink;                        /*queue link in header*/
  898.     short                             qType;                        /*type byte for safety check*/
  899.     short                             ioTrap;                        /*FS: the Trap*/
  900.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  901.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  902.     OSErr                             ioResult;                    /*result code*/
  903.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  904.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  905.     short                             ioDstVRefNum;                /*destination vol identifier*/
  906.     short                             filler8;
  907.     StringPtr                         ioNewName;                    /*ptr to destination pathname*/
  908.     StringPtr                         ioCopyName;                    /*ptr to optional name*/
  909.     long                             ioNewDirID;                    /*destination directory ID*/
  910.     long                             filler14;
  911.     long                             filler15;
  912.     long                             ioDirID;
  913. };
  914. typedef struct CopyParam                CopyParam;
  915. typedef CopyParam *                        CopyParamPtr;
  916.  
  917. struct WDParam {
  918.     QElemPtr                         qLink;                        /*queue link in header*/
  919.     short                             qType;                        /*type byte for safety check*/
  920.     short                             ioTrap;                        /*FS: the Trap*/
  921.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  922.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  923.     OSErr                             ioResult;                    /*result code*/
  924.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  925.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  926.     short                             filler9;
  927.     short                             ioWDIndex;
  928.     long                             ioWDProcID;
  929.     short                             ioWDVRefNum;
  930.     short                             filler10;
  931.     long                             filler11;
  932.     long                             filler12;
  933.     long                             filler13;
  934.     long                             ioWDDirID;
  935. };
  936. typedef struct WDParam                    WDParam;
  937. typedef WDParam *                        WDParamPtr;
  938.  
  939. struct FIDParam {
  940.     QElemPtr                         qLink;                        /*queue link in header*/
  941.     short                             qType;                        /*type byte for safety check*/
  942.     short                             ioTrap;                        /*FS: the Trap*/
  943.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  944.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  945.     OSErr                             ioResult;                    /*result code*/
  946.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  947.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  948.     long                             filler14;
  949.     StringPtr                         ioDestNamePtr;                /* dest file name */
  950.     long                             filler15;
  951.     long                             ioDestDirID;                /* dest file's directory id */
  952.     long                             filler16;
  953.     long                             filler17;
  954.     long                             ioSrcDirID;                    /* source file's directory id */
  955.     short                             filler18;
  956.     long                             ioFileID;                    /* file ID */
  957. };
  958. typedef struct FIDParam                    FIDParam;
  959. typedef FIDParam *                        FIDParamPtr;
  960.  
  961. struct ForeignPrivParam {
  962.     QElemPtr                         qLink;                        /*queue link in header*/
  963.     short                             qType;                        /*type byte for safety check*/
  964.     short                             ioTrap;                        /*FS: the Trap*/
  965.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  966.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  967.     OSErr                             ioResult;                    /*result code*/
  968.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  969.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  970.     long                             ioFiller21;
  971.     long                             ioFiller22;
  972.     Ptr                             ioForeignPrivBuffer;
  973.     long                             ioForeignPrivActCount;
  974.     long                             ioForeignPrivReqCount;
  975.     long                             ioFiller23;
  976.     long                             ioForeignPrivDirID;
  977.     long                             ioForeignPrivInfo1;
  978.     long                             ioForeignPrivInfo2;
  979.     long                             ioForeignPrivInfo3;
  980.     long                             ioForeignPrivInfo4;
  981. };
  982. typedef struct ForeignPrivParam            ForeignPrivParam;
  983. typedef ForeignPrivParam *                ForeignPrivParamPtr;
  984.  
  985. struct CSParam {
  986.     QElemPtr                         qLink;                        /*queue link in header*/
  987.     short                             qType;                        /*type byte for safety check*/
  988.     short                             ioTrap;                        /*FS: the Trap*/
  989.     Ptr                             ioCmdAddr;                    /*FS: address to dispatch to*/
  990.     IOCompletionUPP                 ioCompletion;                /*completion routine addr (0 for synch calls)*/
  991.     OSErr                             ioResult;                    /*result code*/
  992.     StringPtr                         ioNamePtr;                    /*ptr to Vol:FileName string*/
  993.     short                             ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  994.     FSSpecPtr                         ioMatchPtr;                    /* match array */
  995.     long                             ioReqMatchCount;            /* maximum allowable matches */
  996.     long                             ioActMatchCount;            /* actual match count */
  997.     long                             ioSearchBits;                /* search criteria selector */
  998.     CInfoPBPtr                         ioSearchInfo1;                /* search values and range lower bounds */
  999.     CInfoPBPtr                         ioSearchInfo2;                /* search values and range upper bounds */
  1000.     long                             ioSearchTime;                /* length of time to run search */
  1001.     CatPositionRec                     ioCatPosition;                /* current position in the catalog */
  1002.     Ptr                             ioOptBuffer;                /* optional performance enhancement buffer */
  1003.     long                             ioOptBufSize;                /* size of buffer pointed to by ioOptBuffer */
  1004. };
  1005. typedef struct CSParam                    CSParam;
  1006. typedef CSParam *                        CSParamPtr;
  1007.  
  1008.  
  1009.  
  1010. union HParamBlockRec {
  1011.     HIOParam                         ioParam;
  1012.     HFileParam                         fileParam;
  1013.     HVolumeParam                     volumeParam;
  1014.     AccessParam                     accessParam;
  1015.     ObjParam                         objParam;
  1016.     CopyParam                         copyParam;
  1017.     WDParam                         wdParam;
  1018.     FIDParam                         fidParam;
  1019.     CSParam                         csParam;
  1020.     ForeignPrivParam                 foreignPrivParam;
  1021. };
  1022. typedef union HParamBlockRec            HParamBlockRec;
  1023.  
  1024. typedef HParamBlockRec *                HParmBlkPtr;
  1025.  
  1026.  
  1027. struct CMovePBRec {
  1028.     QElemPtr                         qLink;
  1029.     short                             qType;
  1030.     short                             ioTrap;
  1031.     Ptr                             ioCmdAddr;
  1032.     IOCompletionUPP                 ioCompletion;
  1033.     OSErr                             ioResult;
  1034.     StringPtr                         ioNamePtr;
  1035.     short                             ioVRefNum;
  1036.     long                             filler1;
  1037.     StringPtr                         ioNewName;
  1038.     long                             filler2;
  1039.     long                             ioNewDirID;
  1040.     long                             filler3[2];
  1041.     long                             ioDirID;
  1042. };
  1043. typedef struct CMovePBRec                CMovePBRec;
  1044.  
  1045. typedef CMovePBRec *                    CMovePBPtr;
  1046.  
  1047. struct WDPBRec {
  1048.     QElemPtr                         qLink;
  1049.     short                             qType;
  1050.     short                             ioTrap;
  1051.     Ptr                             ioCmdAddr;
  1052.     IOCompletionUPP                 ioCompletion;
  1053.     OSErr                             ioResult;
  1054.     StringPtr                         ioNamePtr;
  1055.     short                             ioVRefNum;
  1056.     short                             filler1;
  1057.     short                             ioWDIndex;
  1058.     long                             ioWDProcID;
  1059.     short                             ioWDVRefNum;
  1060.     short                             filler2[7];
  1061.     long                             ioWDDirID;
  1062. };
  1063. typedef struct WDPBRec                    WDPBRec;
  1064.  
  1065. typedef WDPBRec *                        WDPBPtr;
  1066.  
  1067. struct FCBPBRec {
  1068.     QElemPtr                         qLink;
  1069.     short                             qType;
  1070.     short                             ioTrap;
  1071.     Ptr                             ioCmdAddr;
  1072.     IOCompletionUPP                 ioCompletion;
  1073.     OSErr                             ioResult;
  1074.     StringPtr                         ioNamePtr;
  1075.     short                             ioVRefNum;
  1076.     short                             ioRefNum;
  1077.     short                             filler;
  1078.     short                             ioFCBIndx;
  1079.     short                             filler1;
  1080.     long                             ioFCBFlNm;
  1081.     short                             ioFCBFlags;
  1082.     unsigned short                     ioFCBStBlk;
  1083.     long                             ioFCBEOF;
  1084.     long                             ioFCBPLen;
  1085.     long                             ioFCBCrPs;
  1086.     short                             ioFCBVRefNum;
  1087.     long                             ioFCBClpSiz;
  1088.     long                             ioFCBParID;
  1089. };
  1090. typedef struct FCBPBRec                    FCBPBRec;
  1091.  
  1092. typedef FCBPBRec *                        FCBPBPtr;
  1093.  
  1094. struct VCB {
  1095.     QElemPtr                         qLink;
  1096.     short                             qType;
  1097.     short                             vcbFlags;
  1098.     unsigned short                     vcbSigWord;
  1099.     unsigned long                     vcbCrDate;
  1100.     unsigned long                     vcbLsMod;
  1101.     short                             vcbAtrb;
  1102.     unsigned short                     vcbNmFls;
  1103.     short                             vcbVBMSt;
  1104.     short                             vcbAllocPtr;
  1105.     unsigned short                     vcbNmAlBlks;
  1106.     long                             vcbAlBlkSiz;
  1107.     long                             vcbClpSiz;
  1108.     short                             vcbAlBlSt;
  1109.     long                             vcbNxtCNID;
  1110.     unsigned short                     vcbFreeBks;
  1111.     Str27                             vcbVN;
  1112.     short                             vcbDrvNum;
  1113.     short                             vcbDRefNum;
  1114.     short                             vcbFSID;
  1115.     short                             vcbVRefNum;
  1116.     Ptr                             vcbMAdr;
  1117.     Ptr                             vcbBufAdr;
  1118.     short                             vcbMLen;
  1119.     short                             vcbDirIndex;
  1120.     short                             vcbDirBlk;
  1121.     unsigned long                     vcbVolBkUp;
  1122.     unsigned short                     vcbVSeqNum;
  1123.     long                             vcbWrCnt;
  1124.     long                             vcbXTClpSiz;
  1125.     long                             vcbCTClpSiz;
  1126.     unsigned short                     vcbNmRtDirs;
  1127.     long                             vcbFilCnt;
  1128.     long                             vcbDirCnt;
  1129.     long                             vcbFndrInfo[8];
  1130.     unsigned short                     vcbVCSize;
  1131.     unsigned short                     vcbVBMCSiz;
  1132.     unsigned short                     vcbCtlCSiz;
  1133.     unsigned short                     vcbXTAlBlks;
  1134.     unsigned short                     vcbCTAlBlks;
  1135.     short                             vcbXTRef;
  1136.     short                             vcbCTRef;
  1137.     Ptr                             vcbCtlBuf;
  1138.     long                             vcbDirIDM;
  1139.     short                             vcbOffsM;
  1140. };
  1141. typedef struct VCB                        VCB;
  1142. typedef VCB *                            VCBPtr;
  1143.  
  1144. struct DrvQEl {
  1145.     QElemPtr                         qLink;
  1146.     short                             qType;
  1147.     short                             dQDrive;
  1148.     short                             dQRefNum;
  1149.     short                             dQFSID;
  1150.     unsigned short                     dQDrvSz;
  1151.     unsigned short                     dQDrvSz2;
  1152. };
  1153. typedef struct DrvQEl                    DrvQEl;
  1154. typedef DrvQEl *                        DrvQElPtr;
  1155. enum { uppIOCompletionProcInfo = 0x00009802 };                     /* register no_return_value Func(4_bytes:A0) */
  1156. #define NewIOCompletionProc(userRoutine)                         (IOCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppIOCompletionProcInfo, GetCurrentArchitecture())
  1157. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1158.     #pragma parameter CallIOCompletionProc(__A1, __A0)
  1159.     void CallIOCompletionProc(IOCompletionUPP routine, ParmBlkPtr paramBlock) = 0x4E91;
  1160. #else
  1161.     #define CallIOCompletionProc(userRoutine, paramBlock)         CALL_ONE_PARAMETER_UPP((userRoutine), uppIOCompletionProcInfo, (paramBlock))
  1162. #endif
  1163. #if OLDROUTINELOCATIONS
  1164.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1165.                                                                                             #pragma parameter __D0 PBOpenSync(__A0)
  1166.                                                                                             #endif
  1167. EXTERN_API( OSErr ) PBOpenSync(ParmBlkPtr paramBlock)                                        ONEWORDINLINE(0xA000);
  1168.  
  1169.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1170.                                                                                             #pragma parameter __D0 PBOpenAsync(__A0)
  1171.                                                                                             #endif
  1172. EXTERN_API( OSErr ) PBOpenAsync(ParmBlkPtr paramBlock)                                        ONEWORDINLINE(0xA400);
  1173.  
  1174.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1175.                                                                                             #pragma parameter __D0 PBOpenImmed(__A0)
  1176.                                                                                             #endif
  1177. EXTERN_API( OSErr ) PBOpenImmed(ParmBlkPtr paramBlock)                                        ONEWORDINLINE(0xA200);
  1178.  
  1179.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1180.                                                                                             #pragma parameter __D0 PBCloseSync(__A0)
  1181.                                                                                             #endif
  1182. EXTERN_API( OSErr ) PBCloseSync(ParmBlkPtr paramBlock)                                        ONEWORDINLINE(0xA001);
  1183.  
  1184.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1185.                                                                                             #pragma parameter __D0 PBCloseAsync(__A0)
  1186.                                                                                             #endif
  1187. EXTERN_API( OSErr ) PBCloseAsync(ParmBlkPtr paramBlock)                                        ONEWORDINLINE(0xA401);
  1188.  
  1189.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1190.                                                                                             #pragma parameter __D0 PBCloseImmed(__A0)
  1191.                                                                                             #endif
  1192. EXTERN_API( OSErr ) PBCloseImmed(ParmBlkPtr paramBlock)                                        ONEWORDINLINE(0xA201);
  1193.  
  1194.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1195.                                                                                             #pragma parameter __D0 PBReadSync(__A0)
  1196.                                                                                             #endif
  1197. EXTERN_API( OSErr ) PBReadSync(ParmBlkPtr paramBlock)                                        ONEWORDINLINE(0xA002);
  1198.  
  1199.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1200.                                                                                             #pragma parameter __D0 PBReadAsync(__A0)
  1201.                                                                                             #endif
  1202. EXTERN_API( OSErr ) PBReadAsync(ParmBlkPtr paramBlock)                                        ONEWORDINLINE(0xA402);
  1203.  
  1204.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1205.                                                                                             #pragma parameter __D0 PBReadImmed(__A0)
  1206.                                                                                             #endif
  1207. EXTERN_API( OSErr ) PBReadImmed(ParmBlkPtr paramBlock)                                        ONEWORDINLINE(0xA202);
  1208.  
  1209.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1210.                                                                                             #pragma parameter __D0 PBWriteSync(__A0)
  1211.                                                                                             #endif
  1212. EXTERN_API( OSErr ) PBWriteSync(ParmBlkPtr paramBlock)                                        ONEWORDINLINE(0xA003);
  1213.  
  1214.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1215.                                                                                             #pragma parameter __D0 PBWriteAsync(__A0)
  1216.                                                                                             #endif
  1217. EXTERN_API( OSErr ) PBWriteAsync(ParmBlkPtr paramBlock)                                        ONEWORDINLINE(0xA403);
  1218.  
  1219.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1220.                                                                                             #pragma parameter __D0 PBWriteImmed(__A0)
  1221.                                                                                             #endif
  1222. EXTERN_API( OSErr ) PBWriteImmed(ParmBlkPtr paramBlock)                                        ONEWORDINLINE(0xA203);
  1223.  
  1224. #endif  /* OLDROUTINELOCATIONS */
  1225.  
  1226.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1227.                                                                                             #pragma parameter __D0 PBGetVInfoSync(__A0)
  1228.                                                                                             #endif
  1229. EXTERN_API( OSErr ) PBGetVInfoSync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA007);
  1230.  
  1231.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1232.                                                                                             #pragma parameter __D0 PBGetVInfoAsync(__A0)
  1233.                                                                                             #endif
  1234. EXTERN_API( OSErr ) PBGetVInfoAsync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA407);
  1235.  
  1236.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1237.                                                                                             #pragma parameter __D0 PBXGetVolInfoSync(__A0)
  1238.                                                                                             #endif
  1239. EXTERN_API( OSErr ) PBXGetVolInfoSync(XVolumeParamPtr paramBlock)                            TWOWORDINLINE(0x7012, 0xA060);
  1240.  
  1241.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1242.                                                                                             #pragma parameter __D0 PBXGetVolInfoAsync(__A0)
  1243.                                                                                             #endif
  1244. EXTERN_API( OSErr ) PBXGetVolInfoAsync(XVolumeParamPtr paramBlock)                            TWOWORDINLINE(0x7012, 0xA460);
  1245.  
  1246.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1247.                                                                                             #pragma parameter __D0 PBGetVolSync(__A0)
  1248.                                                                                             #endif
  1249. EXTERN_API( OSErr ) PBGetVolSync(ParmBlkPtr paramBlock)                                        ONEWORDINLINE(0xA014);
  1250.  
  1251.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1252.                                                                                             #pragma parameter __D0 PBGetVolAsync(__A0)
  1253.                                                                                             #endif
  1254. EXTERN_API( OSErr ) PBGetVolAsync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA414);
  1255.  
  1256.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1257.                                                                                             #pragma parameter __D0 PBSetVolSync(__A0)
  1258.                                                                                             #endif
  1259. EXTERN_API( OSErr ) PBSetVolSync(ParmBlkPtr paramBlock)                                        ONEWORDINLINE(0xA015);
  1260.  
  1261.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1262.                                                                                             #pragma parameter __D0 PBSetVolAsync(__A0)
  1263.                                                                                             #endif
  1264. EXTERN_API( OSErr ) PBSetVolAsync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA415);
  1265.  
  1266.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1267.                                                                                             #pragma parameter __D0 PBFlushVolSync(__A0)
  1268.                                                                                             #endif
  1269. EXTERN_API( OSErr ) PBFlushVolSync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA013);
  1270.  
  1271.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1272.                                                                                             #pragma parameter __D0 PBFlushVolAsync(__A0)
  1273.                                                                                             #endif
  1274. EXTERN_API( OSErr ) PBFlushVolAsync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA413);
  1275.  
  1276.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1277.                                                                                             #pragma parameter __D0 PBHTrashVolumeCachesSync(__A0)
  1278.                                                                                             #endif
  1279. EXTERN_API( OSErr ) PBHTrashVolumeCachesSync(ParmBlkPtr paramBlock)                            ONEWORDINLINE(0xA213);
  1280.  
  1281.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1282.                                                                                             #pragma parameter __D0 PBCreateSync(__A0)
  1283.                                                                                             #endif
  1284. EXTERN_API( OSErr ) PBCreateSync(ParmBlkPtr paramBlock)                                        ONEWORDINLINE(0xA008);
  1285.  
  1286.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1287.                                                                                             #pragma parameter __D0 PBCreateAsync(__A0)
  1288.                                                                                             #endif
  1289. EXTERN_API( OSErr ) PBCreateAsync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA408);
  1290.  
  1291.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1292.                                                                                             #pragma parameter __D0 PBDeleteSync(__A0)
  1293.                                                                                             #endif
  1294. EXTERN_API( OSErr ) PBDeleteSync(ParmBlkPtr paramBlock)                                        ONEWORDINLINE(0xA009);
  1295.  
  1296.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1297.                                                                                             #pragma parameter __D0 PBDeleteAsync(__A0)
  1298.                                                                                             #endif
  1299. EXTERN_API( OSErr ) PBDeleteAsync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA409);
  1300.  
  1301.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1302.                                                                                             #pragma parameter __D0 PBOpenDFSync(__A0)
  1303.                                                                                             #endif
  1304. EXTERN_API( OSErr ) PBOpenDFSync(ParmBlkPtr paramBlock)                                        TWOWORDINLINE(0x701A, 0xA060);
  1305.  
  1306.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1307.                                                                                             #pragma parameter __D0 PBOpenDFAsync(__A0)
  1308.                                                                                             #endif
  1309. EXTERN_API( OSErr ) PBOpenDFAsync(ParmBlkPtr paramBlock)                                    TWOWORDINLINE(0x701A, 0xA460);
  1310.  
  1311.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1312.                                                                                             #pragma parameter __D0 PBOpenRFSync(__A0)
  1313.                                                                                             #endif
  1314. EXTERN_API( OSErr ) PBOpenRFSync(ParmBlkPtr paramBlock)                                        ONEWORDINLINE(0xA00A);
  1315.  
  1316.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1317.                                                                                             #pragma parameter __D0 PBOpenRFAsync(__A0)
  1318.                                                                                             #endif
  1319. EXTERN_API( OSErr ) PBOpenRFAsync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA40A);
  1320.  
  1321.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1322.                                                                                             #pragma parameter __D0 PBRenameSync(__A0)
  1323.                                                                                             #endif
  1324. EXTERN_API( OSErr ) PBRenameSync(ParmBlkPtr paramBlock)                                        ONEWORDINLINE(0xA00B);
  1325.  
  1326.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1327.                                                                                             #pragma parameter __D0 PBRenameAsync(__A0)
  1328.                                                                                             #endif
  1329. EXTERN_API( OSErr ) PBRenameAsync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA40B);
  1330.  
  1331.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1332.                                                                                             #pragma parameter __D0 PBGetFInfoSync(__A0)
  1333.                                                                                             #endif
  1334. EXTERN_API( OSErr ) PBGetFInfoSync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA00C);
  1335.  
  1336.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1337.                                                                                             #pragma parameter __D0 PBGetFInfoAsync(__A0)
  1338.                                                                                             #endif
  1339. EXTERN_API( OSErr ) PBGetFInfoAsync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA40C);
  1340.  
  1341.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1342.                                                                                             #pragma parameter __D0 PBSetFInfoSync(__A0)
  1343.                                                                                             #endif
  1344. EXTERN_API( OSErr ) PBSetFInfoSync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA00D);
  1345.  
  1346.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1347.                                                                                             #pragma parameter __D0 PBSetFInfoAsync(__A0)
  1348.                                                                                             #endif
  1349. EXTERN_API( OSErr ) PBSetFInfoAsync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA40D);
  1350.  
  1351.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1352.                                                                                             #pragma parameter __D0 PBSetFLockSync(__A0)
  1353.                                                                                             #endif
  1354. EXTERN_API( OSErr ) PBSetFLockSync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA041);
  1355.  
  1356.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1357.                                                                                             #pragma parameter __D0 PBSetFLockAsync(__A0)
  1358.                                                                                             #endif
  1359. EXTERN_API( OSErr ) PBSetFLockAsync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA441);
  1360.  
  1361.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1362.                                                                                             #pragma parameter __D0 PBRstFLockSync(__A0)
  1363.                                                                                             #endif
  1364. EXTERN_API( OSErr ) PBRstFLockSync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA042);
  1365.  
  1366.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1367.                                                                                             #pragma parameter __D0 PBRstFLockAsync(__A0)
  1368.                                                                                             #endif
  1369. EXTERN_API( OSErr ) PBRstFLockAsync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA442);
  1370.  
  1371.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1372.                                                                                             #pragma parameter __D0 PBSetFVersSync(__A0)
  1373.                                                                                             #endif
  1374. EXTERN_API( OSErr ) PBSetFVersSync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA043);
  1375.  
  1376.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1377.                                                                                             #pragma parameter __D0 PBSetFVersAsync(__A0)
  1378.                                                                                             #endif
  1379. EXTERN_API( OSErr ) PBSetFVersAsync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA443);
  1380.  
  1381.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1382.                                                                                             #pragma parameter __D0 PBAllocateSync(__A0)
  1383.                                                                                             #endif
  1384. EXTERN_API( OSErr ) PBAllocateSync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA010);
  1385.  
  1386.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1387.                                                                                             #pragma parameter __D0 PBAllocateAsync(__A0)
  1388.                                                                                             #endif
  1389. EXTERN_API( OSErr ) PBAllocateAsync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA410);
  1390.  
  1391.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1392.                                                                                             #pragma parameter __D0 PBGetEOFSync(__A0)
  1393.                                                                                             #endif
  1394. EXTERN_API( OSErr ) PBGetEOFSync(ParmBlkPtr paramBlock)                                        ONEWORDINLINE(0xA011);
  1395.  
  1396.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1397.                                                                                             #pragma parameter __D0 PBGetEOFAsync(__A0)
  1398.                                                                                             #endif
  1399. EXTERN_API( OSErr ) PBGetEOFAsync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA411);
  1400.  
  1401.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1402.                                                                                             #pragma parameter __D0 PBSetEOFSync(__A0)
  1403.                                                                                             #endif
  1404. EXTERN_API( OSErr ) PBSetEOFSync(ParmBlkPtr paramBlock)                                        ONEWORDINLINE(0xA012);
  1405.  
  1406.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1407.                                                                                             #pragma parameter __D0 PBSetEOFAsync(__A0)
  1408.                                                                                             #endif
  1409. EXTERN_API( OSErr ) PBSetEOFAsync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA412);
  1410.  
  1411.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1412.                                                                                             #pragma parameter __D0 PBGetFPosSync(__A0)
  1413.                                                                                             #endif
  1414. EXTERN_API( OSErr ) PBGetFPosSync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA018);
  1415.  
  1416.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1417.                                                                                             #pragma parameter __D0 PBGetFPosAsync(__A0)
  1418.                                                                                             #endif
  1419. EXTERN_API( OSErr ) PBGetFPosAsync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA418);
  1420.  
  1421.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1422.                                                                                             #pragma parameter __D0 PBSetFPosSync(__A0)
  1423.                                                                                             #endif
  1424. EXTERN_API( OSErr ) PBSetFPosSync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA044);
  1425.  
  1426.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1427.                                                                                             #pragma parameter __D0 PBSetFPosAsync(__A0)
  1428.                                                                                             #endif
  1429. EXTERN_API( OSErr ) PBSetFPosAsync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA444);
  1430.  
  1431.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1432.                                                                                             #pragma parameter __D0 PBFlushFileSync(__A0)
  1433.                                                                                             #endif
  1434. EXTERN_API( OSErr ) PBFlushFileSync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA045);
  1435.  
  1436.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1437.                                                                                             #pragma parameter __D0 PBFlushFileAsync(__A0)
  1438.                                                                                             #endif
  1439. EXTERN_API( OSErr ) PBFlushFileAsync(ParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA445);
  1440.  
  1441.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1442.                                                                                             #pragma parameter __D0 PBMountVol(__A0)
  1443.                                                                                             #endif
  1444. EXTERN_API( OSErr ) PBMountVol(ParmBlkPtr paramBlock)                                        ONEWORDINLINE(0xA00F);
  1445.  
  1446.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1447.                                                                                             #pragma parameter __D0 PBUnmountVol(__A0)
  1448.                                                                                             #endif
  1449. EXTERN_API( OSErr ) PBUnmountVol(ParmBlkPtr paramBlock)                                        ONEWORDINLINE(0xA00E);
  1450.  
  1451.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1452.                                                                                             #pragma parameter __D0 PBUnmountVolImmed(__A0)
  1453.                                                                                             #endif
  1454. EXTERN_API( OSErr ) PBUnmountVolImmed(ParmBlkPtr paramBlock)                                ONEWORDINLINE(0xA20E);
  1455.  
  1456.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1457.                                                                                             #pragma parameter __D0 PBEject(__A0)
  1458.                                                                                             #endif
  1459. EXTERN_API( OSErr ) PBEject(ParmBlkPtr paramBlock)                                            ONEWORDINLINE(0xA017);
  1460.  
  1461.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1462.                                                                                             #pragma parameter __D0 PBOffLine(__A0)
  1463.                                                                                             #endif
  1464. EXTERN_API( OSErr ) PBOffLine(ParmBlkPtr paramBlock)                                        ONEWORDINLINE(0xA035);
  1465.  
  1466.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1467.                                                                                             #pragma parameter __D0 PBCatSearchSync(__A0)
  1468.                                                                                             #endif
  1469. EXTERN_API( OSErr ) PBCatSearchSync(CSParamPtr paramBlock)                                    TWOWORDINLINE(0x7018, 0xA260);
  1470.  
  1471.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1472.                                                                                             #pragma parameter __D0 PBCatSearchAsync(__A0)
  1473.                                                                                             #endif
  1474. EXTERN_API( OSErr ) PBCatSearchAsync(CSParamPtr paramBlock)                                    TWOWORDINLINE(0x7018, 0xA660);
  1475.  
  1476. EXTERN_API( OSErr )
  1477. SetVol                            (ConstStr63Param         volName,
  1478.                                  short                     vRefNum);
  1479.  
  1480. EXTERN_API( OSErr )
  1481. UnmountVol                        (ConstStr63Param         volName,
  1482.                                  short                     vRefNum);
  1483.  
  1484. EXTERN_API( OSErr )
  1485. Eject                            (ConstStr63Param         volName,
  1486.                                  short                     vRefNum);
  1487.  
  1488. EXTERN_API( OSErr )
  1489. FlushVol                        (ConstStr63Param         volName,
  1490.                                  short                     vRefNum);
  1491.  
  1492. EXTERN_API( OSErr )
  1493. HSetVol                            (ConstStr63Param         volName,
  1494.                                  short                     vRefNum,
  1495.                                  long                     dirID);
  1496.  
  1497. #if OLDROUTINELOCATIONS
  1498. EXTERN_API( void )
  1499. AddDrive                        (short                     drvrRefNum,
  1500.                                  short                     drvNum,
  1501.                                  DrvQElPtr                 qEl);
  1502.  
  1503. #endif  /* OLDROUTINELOCATIONS */
  1504.  
  1505. EXTERN_API( OSErr )
  1506. FSOpen                            (ConstStr255Param         fileName,
  1507.                                  short                     vRefNum,
  1508.                                  short *                refNum);
  1509.  
  1510. EXTERN_API( OSErr )
  1511. OpenDF                            (ConstStr255Param         fileName,
  1512.                                  short                     vRefNum,
  1513.                                  short *                refNum);
  1514.  
  1515. EXTERN_API( OSErr )
  1516. FSClose                            (short                     refNum);
  1517.  
  1518. EXTERN_API( OSErr )
  1519. FSRead                            (short                     refNum,
  1520.                                  long *                    count,
  1521.                                  void *                    buffPtr);
  1522.  
  1523. EXTERN_API( OSErr )
  1524. FSWrite                            (short                     refNum,
  1525.                                  long *                    count,
  1526.                                  const void *            buffPtr);
  1527.  
  1528. EXTERN_API( OSErr )
  1529. GetVInfo                        (short                     drvNum,
  1530.                                  StringPtr                 volName,
  1531.                                  short *                vRefNum,
  1532.                                  long *                    freeBytes);
  1533.  
  1534. EXTERN_API( OSErr )
  1535. GetFInfo                        (ConstStr255Param         fileName,
  1536.                                  short                     vRefNum,
  1537.                                  FInfo *                fndrInfo);
  1538.  
  1539. EXTERN_API( OSErr )
  1540. GetVol                            (StringPtr                 volName,
  1541.                                  short *                vRefNum);
  1542.  
  1543. EXTERN_API( OSErr )
  1544. Create                            (ConstStr255Param         fileName,
  1545.                                  short                     vRefNum,
  1546.                                  OSType                 creator,
  1547.                                  OSType                 fileType);
  1548.  
  1549. EXTERN_API( OSErr )
  1550. FSDelete                        (ConstStr255Param         fileName,
  1551.                                  short                     vRefNum);
  1552.  
  1553. EXTERN_API( OSErr )
  1554. OpenRF                            (ConstStr255Param         fileName,
  1555.                                  short                     vRefNum,
  1556.                                  short *                refNum);
  1557.  
  1558. EXTERN_API( OSErr )
  1559. Rename                            (ConstStr255Param         oldName,
  1560.                                  short                     vRefNum,
  1561.                                  ConstStr255Param         newName);
  1562.  
  1563. EXTERN_API( OSErr )
  1564. SetFInfo                        (ConstStr255Param         fileName,
  1565.                                  short                     vRefNum,
  1566.                                  const FInfo *            fndrInfo);
  1567.  
  1568. EXTERN_API( OSErr )
  1569. SetFLock                        (ConstStr255Param         fileName,
  1570.                                  short                     vRefNum);
  1571.  
  1572. EXTERN_API( OSErr )
  1573. RstFLock                        (ConstStr255Param         fileName,
  1574.                                  short                     vRefNum);
  1575.  
  1576. EXTERN_API( OSErr )
  1577. Allocate                        (short                     refNum,
  1578.                                  long *                    count);
  1579.  
  1580. EXTERN_API( OSErr )
  1581. GetEOF                            (short                     refNum,
  1582.                                  long *                    logEOF);
  1583.  
  1584. EXTERN_API( OSErr )
  1585. SetEOF                            (short                     refNum,
  1586.                                  long                     logEOF);
  1587.  
  1588. EXTERN_API( OSErr )
  1589. GetFPos                            (short                     refNum,
  1590.                                  long *                    filePos);
  1591.  
  1592. EXTERN_API( OSErr )
  1593. SetFPos                            (short                     refNum,
  1594.                                  short                     posMode,
  1595.                                  long                     posOff);
  1596.  
  1597. EXTERN_API( OSErr )
  1598. GetVRefNum                        (short                     fileRefNum,
  1599.                                  short *                vRefNum);
  1600.  
  1601. #if CGLUESUPPORTED
  1602. EXTERN_API_C( OSErr )
  1603. fsopen                            (const char *            fileName,
  1604.                                  short                     vRefNum,
  1605.                                  short *                refNum);
  1606.  
  1607. EXTERN_API_C( OSErr )
  1608. getvinfo                        (short                     drvNum,
  1609.                                  char *                    volName,
  1610.                                  short *                vRefNum,
  1611.                                  long *                    freeBytes);
  1612.  
  1613. EXTERN_API_C( OSErr )
  1614. getfinfo                        (const char *            fileName,
  1615.                                  short                     vRefNum,
  1616.                                  FInfo *                fndrInfo);
  1617.  
  1618. EXTERN_API_C( OSErr )
  1619. getvol                            (char *                    volName,
  1620.                                  short *                vRefNum);
  1621.  
  1622. EXTERN_API_C( OSErr )
  1623. setvol                            (const char *            volName,
  1624.                                  short                     vRefNum);
  1625.  
  1626. EXTERN_API_C( OSErr )
  1627. unmountvol                        (const char *            volName,
  1628.                                  short                     vRefNum);
  1629.  
  1630. EXTERN_API_C( OSErr )
  1631. eject                            (const char *            volName,
  1632.                                  short                     vRefNum);
  1633.  
  1634. EXTERN_API_C( OSErr )
  1635. flushvol                        (const char *            volName,
  1636.                                  short                     vRefNum);
  1637.  
  1638. EXTERN_API_C( OSErr )
  1639. create                            (const char *            fileName,
  1640.                                  short                     vRefNum,
  1641.                                  OSType                 creator,
  1642.                                  OSType                 fileType);
  1643.  
  1644. EXTERN_API_C( OSErr )
  1645. fsdelete                        (const char *            fileName,
  1646.                                  short                     vRefNum);
  1647.  
  1648. EXTERN_API_C( OSErr )
  1649. openrf                            (const char *            fileName,
  1650.                                  short                     vRefNum,
  1651.                                  short *                refNum);
  1652.  
  1653. EXTERN_API_C( OSErr )
  1654. fsrename                        (const char *            oldName,
  1655.                                  short                     vRefNum,
  1656.                                  const char *            newName);
  1657.  
  1658. EXTERN_API_C( OSErr )
  1659. setfinfo                        (const char *            fileName,
  1660.                                  short                     vRefNum,
  1661.                                  const FInfo *            fndrInfo);
  1662.  
  1663. EXTERN_API_C( OSErr )
  1664. setflock                        (const char *            fileName,
  1665.                                  short                     vRefNum);
  1666.  
  1667. EXTERN_API_C( OSErr )
  1668. rstflock                        (const char *            fileName,
  1669.                                  short                     vRefNum);
  1670.  
  1671. #endif  /* CGLUESUPPORTED */
  1672.  
  1673.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1674.                                                                                             #pragma parameter __D0 PBOpenWDSync(__A0)
  1675.                                                                                             #endif
  1676. EXTERN_API( OSErr ) PBOpenWDSync(WDPBPtr paramBlock)                                        TWOWORDINLINE(0x7001, 0xA260);
  1677.  
  1678.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1679.                                                                                             #pragma parameter __D0 PBOpenWDAsync(__A0)
  1680.                                                                                             #endif
  1681. EXTERN_API( OSErr ) PBOpenWDAsync(WDPBPtr paramBlock)                                        TWOWORDINLINE(0x7001, 0xA660);
  1682.  
  1683.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1684.                                                                                             #pragma parameter __D0 PBCloseWDSync(__A0)
  1685.                                                                                             #endif
  1686. EXTERN_API( OSErr ) PBCloseWDSync(WDPBPtr paramBlock)                                        TWOWORDINLINE(0x7002, 0xA260);
  1687.  
  1688.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1689.                                                                                             #pragma parameter __D0 PBCloseWDAsync(__A0)
  1690.                                                                                             #endif
  1691. EXTERN_API( OSErr ) PBCloseWDAsync(WDPBPtr paramBlock)                                        TWOWORDINLINE(0x7002, 0xA660);
  1692.  
  1693.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1694.                                                                                             #pragma parameter __D0 PBHSetVolSync(__A0)
  1695.                                                                                             #endif
  1696. EXTERN_API( OSErr ) PBHSetVolSync(WDPBPtr paramBlock)                                        ONEWORDINLINE(0xA215);
  1697.  
  1698.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1699.                                                                                             #pragma parameter __D0 PBHSetVolAsync(__A0)
  1700.                                                                                             #endif
  1701. EXTERN_API( OSErr ) PBHSetVolAsync(WDPBPtr paramBlock)                                        ONEWORDINLINE(0xA615);
  1702.  
  1703.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1704.                                                                                             #pragma parameter __D0 PBHGetVolSync(__A0)
  1705.                                                                                             #endif
  1706. EXTERN_API( OSErr ) PBHGetVolSync(WDPBPtr paramBlock)                                        ONEWORDINLINE(0xA214);
  1707.  
  1708.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1709.                                                                                             #pragma parameter __D0 PBHGetVolAsync(__A0)
  1710.                                                                                             #endif
  1711. EXTERN_API( OSErr ) PBHGetVolAsync(WDPBPtr paramBlock)                                        ONEWORDINLINE(0xA614);
  1712.  
  1713.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1714.                                                                                             #pragma parameter __D0 PBCatMoveSync(__A0)
  1715.                                                                                             #endif
  1716. EXTERN_API( OSErr ) PBCatMoveSync(CMovePBPtr paramBlock)                                    TWOWORDINLINE(0x7005, 0xA260);
  1717.  
  1718.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1719.                                                                                             #pragma parameter __D0 PBCatMoveAsync(__A0)
  1720.                                                                                             #endif
  1721. EXTERN_API( OSErr ) PBCatMoveAsync(CMovePBPtr paramBlock)                                    TWOWORDINLINE(0x7005, 0xA660);
  1722.  
  1723.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1724.                                                                                             #pragma parameter __D0 PBDirCreateSync(__A0)
  1725.                                                                                             #endif
  1726. EXTERN_API( OSErr ) PBDirCreateSync(HParmBlkPtr paramBlock)                                    TWOWORDINLINE(0x7006, 0xA260);
  1727.  
  1728.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1729.                                                                                             #pragma parameter __D0 PBDirCreateAsync(__A0)
  1730.                                                                                             #endif
  1731. EXTERN_API( OSErr ) PBDirCreateAsync(HParmBlkPtr paramBlock)                                TWOWORDINLINE(0x7006, 0xA660);
  1732.  
  1733.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1734.                                                                                             #pragma parameter __D0 PBGetWDInfoSync(__A0)
  1735.                                                                                             #endif
  1736. EXTERN_API( OSErr ) PBGetWDInfoSync(WDPBPtr paramBlock)                                        TWOWORDINLINE(0x7007, 0xA260);
  1737.  
  1738.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1739.                                                                                             #pragma parameter __D0 PBGetWDInfoAsync(__A0)
  1740.                                                                                             #endif
  1741. EXTERN_API( OSErr ) PBGetWDInfoAsync(WDPBPtr paramBlock)                                    TWOWORDINLINE(0x7007, 0xA660);
  1742.  
  1743.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1744.                                                                                             #pragma parameter __D0 PBGetFCBInfoSync(__A0)
  1745.                                                                                             #endif
  1746. EXTERN_API( OSErr ) PBGetFCBInfoSync(FCBPBPtr paramBlock)                                    TWOWORDINLINE(0x7008, 0xA260);
  1747.  
  1748.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1749.                                                                                             #pragma parameter __D0 PBGetFCBInfoAsync(__A0)
  1750.                                                                                             #endif
  1751. EXTERN_API( OSErr ) PBGetFCBInfoAsync(FCBPBPtr paramBlock)                                    TWOWORDINLINE(0x7008, 0xA660);
  1752.  
  1753.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1754.                                                                                             #pragma parameter __D0 PBGetCatInfoSync(__A0)
  1755.                                                                                             #endif
  1756. EXTERN_API( OSErr ) PBGetCatInfoSync(CInfoPBPtr paramBlock)                                    TWOWORDINLINE(0x7009, 0xA260);
  1757.  
  1758.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1759.                                                                                             #pragma parameter __D0 PBGetCatInfoAsync(__A0)
  1760.                                                                                             #endif
  1761. EXTERN_API( OSErr ) PBGetCatInfoAsync(CInfoPBPtr paramBlock)                                TWOWORDINLINE(0x7009, 0xA660);
  1762.  
  1763.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1764.                                                                                             #pragma parameter __D0 PBSetCatInfoSync(__A0)
  1765.                                                                                             #endif
  1766. EXTERN_API( OSErr ) PBSetCatInfoSync(CInfoPBPtr paramBlock)                                    TWOWORDINLINE(0x700A, 0xA260);
  1767.  
  1768.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1769.                                                                                             #pragma parameter __D0 PBSetCatInfoAsync(__A0)
  1770.                                                                                             #endif
  1771. EXTERN_API( OSErr ) PBSetCatInfoAsync(CInfoPBPtr paramBlock)                                TWOWORDINLINE(0x700A, 0xA660);
  1772.  
  1773.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1774.                                                                                             #pragma parameter __D0 PBAllocContigSync(__A0)
  1775.                                                                                             #endif
  1776. EXTERN_API( OSErr ) PBAllocContigSync(ParmBlkPtr paramBlock)                                ONEWORDINLINE(0xA210);
  1777.  
  1778.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1779.                                                                                             #pragma parameter __D0 PBAllocContigAsync(__A0)
  1780.                                                                                             #endif
  1781. EXTERN_API( OSErr ) PBAllocContigAsync(ParmBlkPtr paramBlock)                                ONEWORDINLINE(0xA610);
  1782.  
  1783.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1784.                                                                                             #pragma parameter __D0 PBLockRangeSync(__A0)
  1785.                                                                                             #endif
  1786. EXTERN_API( OSErr ) PBLockRangeSync(ParmBlkPtr paramBlock)                                    TWOWORDINLINE(0x7010, 0xA260);
  1787.  
  1788.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1789.                                                                                             #pragma parameter __D0 PBLockRangeAsync(__A0)
  1790.                                                                                             #endif
  1791. EXTERN_API( OSErr ) PBLockRangeAsync(ParmBlkPtr paramBlock)                                    TWOWORDINLINE(0x7010, 0xA660);
  1792.  
  1793.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1794.                                                                                             #pragma parameter __D0 PBUnlockRangeSync(__A0)
  1795.                                                                                             #endif
  1796. EXTERN_API( OSErr ) PBUnlockRangeSync(ParmBlkPtr paramBlock)                                TWOWORDINLINE(0x7011, 0xA260);
  1797.  
  1798.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1799.                                                                                             #pragma parameter __D0 PBUnlockRangeAsync(__A0)
  1800.                                                                                             #endif
  1801. EXTERN_API( OSErr ) PBUnlockRangeAsync(ParmBlkPtr paramBlock)                                TWOWORDINLINE(0x7011, 0xA660);
  1802.  
  1803.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1804.                                                                                             #pragma parameter __D0 PBSetVInfoSync(__A0)
  1805.                                                                                             #endif
  1806. EXTERN_API( OSErr ) PBSetVInfoSync(HParmBlkPtr paramBlock)                                    TWOWORDINLINE(0x700B, 0xA260);
  1807.  
  1808.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1809.                                                                                             #pragma parameter __D0 PBSetVInfoAsync(__A0)
  1810.                                                                                             #endif
  1811. EXTERN_API( OSErr ) PBSetVInfoAsync(HParmBlkPtr paramBlock)                                    TWOWORDINLINE(0x700B, 0xA660);
  1812.  
  1813.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1814.                                                                                             #pragma parameter __D0 PBHGetVInfoSync(__A0)
  1815.                                                                                             #endif
  1816. EXTERN_API( OSErr ) PBHGetVInfoSync(HParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA207);
  1817.  
  1818.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1819.                                                                                             #pragma parameter __D0 PBHGetVInfoAsync(__A0)
  1820.                                                                                             #endif
  1821. EXTERN_API( OSErr ) PBHGetVInfoAsync(HParmBlkPtr paramBlock)                                ONEWORDINLINE(0xA607);
  1822.  
  1823.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1824.                                                                                             #pragma parameter __D0 PBHOpenSync(__A0)
  1825.                                                                                             #endif
  1826. EXTERN_API( OSErr ) PBHOpenSync(HParmBlkPtr paramBlock)                                        ONEWORDINLINE(0xA200);
  1827.  
  1828.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1829.                                                                                             #pragma parameter __D0 PBHOpenAsync(__A0)
  1830.                                                                                             #endif
  1831. EXTERN_API( OSErr ) PBHOpenAsync(HParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA600);
  1832.  
  1833.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1834.                                                                                             #pragma parameter __D0 PBHOpenRFSync(__A0)
  1835.                                                                                             #endif
  1836. EXTERN_API( OSErr ) PBHOpenRFSync(HParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA20A);
  1837.  
  1838.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1839.                                                                                             #pragma parameter __D0 PBHOpenRFAsync(__A0)
  1840.                                                                                             #endif
  1841. EXTERN_API( OSErr ) PBHOpenRFAsync(HParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA60A);
  1842.  
  1843.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1844.                                                                                             #pragma parameter __D0 PBHOpenDFSync(__A0)
  1845.                                                                                             #endif
  1846. EXTERN_API( OSErr ) PBHOpenDFSync(HParmBlkPtr paramBlock)                                    TWOWORDINLINE(0x701A, 0xA260);
  1847.  
  1848.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1849.                                                                                             #pragma parameter __D0 PBHOpenDFAsync(__A0)
  1850.                                                                                             #endif
  1851. EXTERN_API( OSErr ) PBHOpenDFAsync(HParmBlkPtr paramBlock)                                    TWOWORDINLINE(0x701A, 0xA660);
  1852.  
  1853.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1854.                                                                                             #pragma parameter __D0 PBHCreateSync(__A0)
  1855.                                                                                             #endif
  1856. EXTERN_API( OSErr ) PBHCreateSync(HParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA208);
  1857.  
  1858.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1859.                                                                                             #pragma parameter __D0 PBHCreateAsync(__A0)
  1860.                                                                                             #endif
  1861. EXTERN_API( OSErr ) PBHCreateAsync(HParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA608);
  1862.  
  1863.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1864.                                                                                             #pragma parameter __D0 PBHDeleteSync(__A0)
  1865.                                                                                             #endif
  1866. EXTERN_API( OSErr ) PBHDeleteSync(HParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA209);
  1867.  
  1868.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1869.                                                                                             #pragma parameter __D0 PBHDeleteAsync(__A0)
  1870.                                                                                             #endif
  1871. EXTERN_API( OSErr ) PBHDeleteAsync(HParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA609);
  1872.  
  1873.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1874.                                                                                             #pragma parameter __D0 PBHRenameSync(__A0)
  1875.                                                                                             #endif
  1876. EXTERN_API( OSErr ) PBHRenameSync(HParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA20B);
  1877.  
  1878.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1879.                                                                                             #pragma parameter __D0 PBHRenameAsync(__A0)
  1880.                                                                                             #endif
  1881. EXTERN_API( OSErr ) PBHRenameAsync(HParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA60B);
  1882.  
  1883.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1884.                                                                                             #pragma parameter __D0 PBHRstFLockSync(__A0)
  1885.                                                                                             #endif
  1886. EXTERN_API( OSErr ) PBHRstFLockSync(HParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA242);
  1887.  
  1888.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1889.                                                                                             #pragma parameter __D0 PBHRstFLockAsync(__A0)
  1890.                                                                                             #endif
  1891. EXTERN_API( OSErr ) PBHRstFLockAsync(HParmBlkPtr paramBlock)                                ONEWORDINLINE(0xA642);
  1892.  
  1893.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1894.                                                                                             #pragma parameter __D0 PBHSetFLockSync(__A0)
  1895.                                                                                             #endif
  1896. EXTERN_API( OSErr ) PBHSetFLockSync(HParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA241);
  1897.  
  1898.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1899.                                                                                             #pragma parameter __D0 PBHSetFLockAsync(__A0)
  1900.                                                                                             #endif
  1901. EXTERN_API( OSErr ) PBHSetFLockAsync(HParmBlkPtr paramBlock)                                ONEWORDINLINE(0xA641);
  1902.  
  1903.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1904.                                                                                             #pragma parameter __D0 PBHGetFInfoSync(__A0)
  1905.                                                                                             #endif
  1906. EXTERN_API( OSErr ) PBHGetFInfoSync(HParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA20C);
  1907.  
  1908.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1909.                                                                                             #pragma parameter __D0 PBHGetFInfoAsync(__A0)
  1910.                                                                                             #endif
  1911. EXTERN_API( OSErr ) PBHGetFInfoAsync(HParmBlkPtr paramBlock)                                ONEWORDINLINE(0xA60C);
  1912.  
  1913.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1914.                                                                                             #pragma parameter __D0 PBHSetFInfoSync(__A0)
  1915.                                                                                             #endif
  1916. EXTERN_API( OSErr ) PBHSetFInfoSync(HParmBlkPtr paramBlock)                                    ONEWORDINLINE(0xA20D);
  1917.  
  1918.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1919.                                                                                             #pragma parameter __D0 PBHSetFInfoAsync(__A0)
  1920.                                                                                             #endif
  1921. EXTERN_API( OSErr ) PBHSetFInfoAsync(HParmBlkPtr paramBlock)                                ONEWORDINLINE(0xA60D);
  1922.  
  1923.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1924.                                                                                             #pragma parameter __D0 PBMakeFSSpecSync(__A0)
  1925.                                                                                             #endif
  1926. EXTERN_API( OSErr ) PBMakeFSSpecSync(HParmBlkPtr paramBlock)                                TWOWORDINLINE(0x701B, 0xA260);
  1927.  
  1928.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1929.                                                                                             #pragma parameter __D0 PBMakeFSSpecAsync(__A0)
  1930.                                                                                             #endif
  1931. EXTERN_API( OSErr ) PBMakeFSSpecAsync(HParmBlkPtr paramBlock)                                TWOWORDINLINE(0x701B, 0xA660);
  1932.  
  1933. EXTERN_API( void ) FInitQueue(void )                                                                ONEWORDINLINE(0xA016);
  1934.  
  1935.  
  1936. EXTERN_API( QHdrPtr )
  1937. GetFSQHdr                        (void)                                                        THREEWORDINLINE(0x2EBC, 0x0000, 0x0360);
  1938.  
  1939. EXTERN_API( QHdrPtr )
  1940. GetVCBQHdr                        (void)                                                        THREEWORDINLINE(0x2EBC, 0x0000, 0x0356);
  1941.  
  1942. #if OLDROUTINELOCATIONS
  1943. EXTERN_API( QHdrPtr )
  1944. GetDrvQHdr                        (void)                                                        THREEWORDINLINE(0x2EBC, 0x0000, 0x0308);
  1945.  
  1946. #endif  /* OLDROUTINELOCATIONS */
  1947.  
  1948. EXTERN_API( OSErr )
  1949. HGetVol                            (StringPtr                 volName,
  1950.                                  short *                vRefNum,
  1951.                                  long *                    dirID);
  1952.  
  1953. EXTERN_API( OSErr )
  1954. HOpen                            (short                     vRefNum,
  1955.                                  long                     dirID,
  1956.                                  ConstStr255Param         fileName,
  1957.                                  SInt8                     permission,
  1958.                                  short *                refNum);
  1959.  
  1960. EXTERN_API( OSErr )
  1961. HOpenDF                            (short                     vRefNum,
  1962.                                  long                     dirID,
  1963.                                  ConstStr255Param         fileName,
  1964.                                  SInt8                     permission,
  1965.                                  short *                refNum);
  1966.  
  1967. EXTERN_API( OSErr )
  1968. HOpenRF                            (short                     vRefNum,
  1969.                                  long                     dirID,
  1970.                                  ConstStr255Param         fileName,
  1971.                                  SInt8                     permission,
  1972.                                  short *                refNum);
  1973.  
  1974. EXTERN_API( OSErr )
  1975. AllocContig                        (short                     refNum,
  1976.                                  long *                    count);
  1977.  
  1978. EXTERN_API( OSErr )
  1979. HCreate                            (short                     vRefNum,
  1980.                                  long                     dirID,
  1981.                                  ConstStr255Param         fileName,
  1982.                                  OSType                 creator,
  1983.                                  OSType                 fileType);
  1984.  
  1985. EXTERN_API( OSErr )
  1986. DirCreate                        (short                     vRefNum,
  1987.                                  long                     parentDirID,
  1988.                                  ConstStr255Param         directoryName,
  1989.                                  long *                    createdDirID);
  1990.  
  1991. EXTERN_API( OSErr )
  1992. HDelete                            (short                     vRefNum,
  1993.                                  long                     dirID,
  1994.                                  ConstStr255Param         fileName);
  1995.  
  1996. EXTERN_API( OSErr )
  1997. HGetFInfo                        (short                     vRefNum,
  1998.                                  long                     dirID,
  1999.                                  ConstStr255Param         fileName,
  2000.                                  FInfo *                fndrInfo);
  2001.  
  2002. EXTERN_API( OSErr )
  2003. HSetFInfo                        (short                     vRefNum,
  2004.                                  long                     dirID,
  2005.                                  ConstStr255Param         fileName,
  2006.                                  const FInfo *            fndrInfo);
  2007.  
  2008. EXTERN_API( OSErr )
  2009. HSetFLock                        (short                     vRefNum,
  2010.                                  long                     dirID,
  2011.                                  ConstStr255Param         fileName);
  2012.  
  2013. EXTERN_API( OSErr )
  2014. HRstFLock                        (short                     vRefNum,
  2015.                                  long                     dirID,
  2016.                                  ConstStr255Param         fileName);
  2017.  
  2018. EXTERN_API( OSErr )
  2019. HRename                            (short                     vRefNum,
  2020.                                  long                     dirID,
  2021.                                  ConstStr255Param         oldName,
  2022.                                  ConstStr255Param         newName);
  2023.  
  2024. EXTERN_API( OSErr )
  2025. CatMove                            (short                     vRefNum,
  2026.                                  long                     dirID,
  2027.                                  ConstStr255Param         oldName,
  2028.                                  long                     newDirID,
  2029.                                  ConstStr255Param         newName);
  2030.  
  2031. EXTERN_API( OSErr )
  2032. OpenWD                            (short                     vRefNum,
  2033.                                  long                     dirID,
  2034.                                  long                     procID,
  2035.                                  short *                wdRefNum);
  2036.  
  2037. EXTERN_API( OSErr )
  2038. CloseWD                            (short                     wdRefNum);
  2039.  
  2040. EXTERN_API( OSErr )
  2041. GetWDInfo                        (short                     wdRefNum,
  2042.                                  short *                vRefNum,
  2043.                                  long *                    dirID,
  2044.                                  long *                    procID);
  2045.  
  2046. /*  shared environment  */
  2047.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2048.                                                                                             #pragma parameter __D0 PBHGetVolParmsSync(__A0)
  2049.                                                                                             #endif
  2050. EXTERN_API( OSErr ) PBHGetVolParmsSync(HParmBlkPtr paramBlock)                                TWOWORDINLINE(0x7030, 0xA260);
  2051.  
  2052.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2053.                                                                                             #pragma parameter __D0 PBHGetVolParmsAsync(__A0)
  2054.                                                                                             #endif
  2055. EXTERN_API( OSErr ) PBHGetVolParmsAsync(HParmBlkPtr paramBlock)                                TWOWORDINLINE(0x7030, 0xA660);
  2056.  
  2057.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2058.                                                                                             #pragma parameter __D0 PBHGetLogInInfoSync(__A0)
  2059.                                                                                             #endif
  2060. EXTERN_API( OSErr ) PBHGetLogInInfoSync(HParmBlkPtr paramBlock)                                TWOWORDINLINE(0x7031, 0xA260);
  2061.  
  2062.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2063.                                                                                             #pragma parameter __D0 PBHGetLogInInfoAsync(__A0)
  2064.                                                                                             #endif
  2065. EXTERN_API( OSErr ) PBHGetLogInInfoAsync(HParmBlkPtr paramBlock)                            TWOWORDINLINE(0x7031, 0xA660);
  2066.  
  2067.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2068.                                                                                             #pragma parameter __D0 PBHGetDirAccessSync(__A0)
  2069.                                                                                             #endif
  2070. EXTERN_API( OSErr ) PBHGetDirAccessSync(HParmBlkPtr paramBlock)                                TWOWORDINLINE(0x7032, 0xA260);
  2071.  
  2072.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2073.                                                                                             #pragma parameter __D0 PBHGetDirAccessAsync(__A0)
  2074.                                                                                             #endif
  2075. EXTERN_API( OSErr ) PBHGetDirAccessAsync(HParmBlkPtr paramBlock)                            TWOWORDINLINE(0x7032, 0xA660);
  2076.  
  2077.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2078.                                                                                             #pragma parameter __D0 PBHSetDirAccessSync(__A0)
  2079.                                                                                             #endif
  2080. EXTERN_API( OSErr ) PBHSetDirAccessSync(HParmBlkPtr paramBlock)                                TWOWORDINLINE(0x7033, 0xA260);
  2081.  
  2082.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2083.                                                                                             #pragma parameter __D0 PBHSetDirAccessAsync(__A0)
  2084.                                                                                             #endif
  2085. EXTERN_API( OSErr ) PBHSetDirAccessAsync(HParmBlkPtr paramBlock)                            TWOWORDINLINE(0x7033, 0xA660);
  2086.  
  2087.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2088.                                                                                             #pragma parameter __D0 PBHMapIDSync(__A0)
  2089.                                                                                             #endif
  2090. EXTERN_API( OSErr ) PBHMapIDSync(HParmBlkPtr paramBlock)                                    TWOWORDINLINE(0x7034, 0xA260);
  2091.  
  2092.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2093.                                                                                             #pragma parameter __D0 PBHMapIDAsync(__A0)
  2094.                                                                                             #endif
  2095. EXTERN_API( OSErr ) PBHMapIDAsync(HParmBlkPtr paramBlock)                                    TWOWORDINLINE(0x7034, 0xA660);
  2096.  
  2097.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2098.                                                                                             #pragma parameter __D0 PBHMapNameSync(__A0)
  2099.                                                                                             #endif
  2100. EXTERN_API( OSErr ) PBHMapNameSync(HParmBlkPtr paramBlock)                                    TWOWORDINLINE(0x7035, 0xA260);
  2101.  
  2102.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2103.                                                                                             #pragma parameter __D0 PBHMapNameAsync(__A0)
  2104.                                                                                             #endif
  2105. EXTERN_API( OSErr ) PBHMapNameAsync(HParmBlkPtr paramBlock)                                    TWOWORDINLINE(0x7035, 0xA660);
  2106.  
  2107.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2108.                                                                                             #pragma parameter __D0 PBHCopyFileSync(__A0)
  2109.                                                                                             #endif
  2110. EXTERN_API( OSErr ) PBHCopyFileSync(HParmBlkPtr paramBlock)                                    TWOWORDINLINE(0x7036, 0xA260);
  2111.  
  2112.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2113.                                                                                             #pragma parameter __D0 PBHCopyFileAsync(__A0)
  2114.                                                                                             #endif
  2115. EXTERN_API( OSErr ) PBHCopyFileAsync(HParmBlkPtr paramBlock)                                TWOWORDINLINE(0x7036, 0xA660);
  2116.  
  2117.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2118.                                                                                             #pragma parameter __D0 PBHMoveRenameSync(__A0)
  2119.                                                                                             #endif
  2120. EXTERN_API( OSErr ) PBHMoveRenameSync(HParmBlkPtr paramBlock)                                TWOWORDINLINE(0x7037, 0xA260);
  2121.  
  2122.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2123.                                                                                             #pragma parameter __D0 PBHMoveRenameAsync(__A0)
  2124.                                                                                             #endif
  2125. EXTERN_API( OSErr ) PBHMoveRenameAsync(HParmBlkPtr paramBlock)                                TWOWORDINLINE(0x7037, 0xA660);
  2126.  
  2127.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2128.                                                                                             #pragma parameter __D0 PBHOpenDenySync(__A0)
  2129.                                                                                             #endif
  2130. EXTERN_API( OSErr ) PBHOpenDenySync(HParmBlkPtr paramBlock)                                    TWOWORDINLINE(0x7038, 0xA260);
  2131.  
  2132.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2133.                                                                                             #pragma parameter __D0 PBHOpenDenyAsync(__A0)
  2134.                                                                                             #endif
  2135. EXTERN_API( OSErr ) PBHOpenDenyAsync(HParmBlkPtr paramBlock)                                TWOWORDINLINE(0x7038, 0xA660);
  2136.  
  2137.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2138.                                                                                             #pragma parameter __D0 PBHOpenRFDenySync(__A0)
  2139.                                                                                             #endif
  2140. EXTERN_API( OSErr ) PBHOpenRFDenySync(HParmBlkPtr paramBlock)                                TWOWORDINLINE(0x7039, 0xA260);
  2141.  
  2142.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2143.                                                                                             #pragma parameter __D0 PBHOpenRFDenyAsync(__A0)
  2144.                                                                                             #endif
  2145. EXTERN_API( OSErr ) PBHOpenRFDenyAsync(HParmBlkPtr paramBlock)                                TWOWORDINLINE(0x7039, 0xA660);
  2146.  
  2147.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2148.                                                                                             #pragma parameter __D0 PBGetXCatInfoSync(__A0)
  2149.                                                                                             #endif
  2150. EXTERN_API( OSErr ) PBGetXCatInfoSync(XCInfoPBPtr paramBlock)                                TWOWORDINLINE(0x703A, 0xA260);
  2151.  
  2152.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2153.                                                                                             #pragma parameter __D0 PBGetXCatInfoAsync(__A0)
  2154.                                                                                             #endif
  2155. EXTERN_API( OSErr ) PBGetXCatInfoAsync(XCInfoPBPtr paramBlock)                                TWOWORDINLINE(0x703A, 0xA660);
  2156.  
  2157.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2158.                                                                                             #pragma parameter __D0 PBExchangeFilesSync(__A0)
  2159.                                                                                             #endif
  2160. EXTERN_API( OSErr ) PBExchangeFilesSync(HParmBlkPtr paramBlock)                                TWOWORDINLINE(0x7017, 0xA260);
  2161.  
  2162.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2163.                                                                                             #pragma parameter __D0 PBExchangeFilesAsync(__A0)
  2164.                                                                                             #endif
  2165. EXTERN_API( OSErr ) PBExchangeFilesAsync(HParmBlkPtr paramBlock)                            TWOWORDINLINE(0x7017, 0xA660);
  2166.  
  2167.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2168.                                                                                             #pragma parameter __D0 PBCreateFileIDRefSync(__A0)
  2169.                                                                                             #endif
  2170. EXTERN_API( OSErr ) PBCreateFileIDRefSync(HParmBlkPtr paramBlock)                            TWOWORDINLINE(0x7014, 0xA260);
  2171.  
  2172.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2173.                                                                                             #pragma parameter __D0 PBCreateFileIDRefAsync(__A0)
  2174.                                                                                             #endif
  2175. EXTERN_API( OSErr ) PBCreateFileIDRefAsync(HParmBlkPtr paramBlock)                            TWOWORDINLINE(0x7014, 0xA660);
  2176.  
  2177.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2178.                                                                                             #pragma parameter __D0 PBResolveFileIDRefSync(__A0)
  2179.                                                                                             #endif
  2180. EXTERN_API( OSErr ) PBResolveFileIDRefSync(HParmBlkPtr paramBlock)                            TWOWORDINLINE(0x7016, 0xA260);
  2181.  
  2182.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2183.                                                                                             #pragma parameter __D0 PBResolveFileIDRefAsync(__A0)
  2184.                                                                                             #endif
  2185. EXTERN_API( OSErr ) PBResolveFileIDRefAsync(HParmBlkPtr paramBlock)                            TWOWORDINLINE(0x7016, 0xA660);
  2186.  
  2187.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2188.                                                                                             #pragma parameter __D0 PBDeleteFileIDRefSync(__A0)
  2189.                                                                                             #endif
  2190. EXTERN_API( OSErr ) PBDeleteFileIDRefSync(HParmBlkPtr paramBlock)                            TWOWORDINLINE(0x7015, 0xA260);
  2191.  
  2192.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2193.                                                                                             #pragma parameter __D0 PBDeleteFileIDRefAsync(__A0)
  2194.                                                                                             #endif
  2195. EXTERN_API( OSErr ) PBDeleteFileIDRefAsync(HParmBlkPtr paramBlock)                            TWOWORDINLINE(0x7015, 0xA660);
  2196.  
  2197.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2198.                                                                                             #pragma parameter __D0 PBGetForeignPrivsSync(__A0)
  2199.                                                                                             #endif
  2200. EXTERN_API( OSErr ) PBGetForeignPrivsSync(HParmBlkPtr paramBlock)                            TWOWORDINLINE(0x7060, 0xA260);
  2201.  
  2202.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2203.                                                                                             #pragma parameter __D0 PBGetForeignPrivsAsync(__A0)
  2204.                                                                                             #endif
  2205. EXTERN_API( OSErr ) PBGetForeignPrivsAsync(HParmBlkPtr paramBlock)                            TWOWORDINLINE(0x7060, 0xA660);
  2206.  
  2207.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2208.                                                                                             #pragma parameter __D0 PBSetForeignPrivsSync(__A0)
  2209.                                                                                             #endif
  2210. EXTERN_API( OSErr ) PBSetForeignPrivsSync(HParmBlkPtr paramBlock)                            TWOWORDINLINE(0x7061, 0xA260);
  2211.  
  2212.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2213.                                                                                             #pragma parameter __D0 PBSetForeignPrivsAsync(__A0)
  2214.                                                                                             #endif
  2215. EXTERN_API( OSErr ) PBSetForeignPrivsAsync(HParmBlkPtr paramBlock)                            TWOWORDINLINE(0x7061, 0xA660);
  2216.  
  2217. /*  Desktop Manager  */
  2218.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2219.                                                                                             #pragma parameter __D0 PBDTGetPath(__A0)
  2220.                                                                                             #endif
  2221. EXTERN_API( OSErr ) PBDTGetPath(DTPBPtr paramBlock)                                            TWOWORDINLINE(0x7020, 0xA260);
  2222.  
  2223.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2224.                                                                                             #pragma parameter __D0 PBDTCloseDown(__A0)
  2225.                                                                                             #endif
  2226. EXTERN_API( OSErr ) PBDTCloseDown(DTPBPtr paramBlock)                                        TWOWORDINLINE(0x7021, 0xA260);
  2227.  
  2228.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2229.                                                                                             #pragma parameter __D0 PBDTAddIconSync(__A0)
  2230.                                                                                             #endif
  2231. EXTERN_API( OSErr ) PBDTAddIconSync(DTPBPtr paramBlock)                                        TWOWORDINLINE(0x7022, 0xA260);
  2232.  
  2233.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2234.                                                                                             #pragma parameter __D0 PBDTAddIconAsync(__A0)
  2235.                                                                                             #endif
  2236. EXTERN_API( OSErr ) PBDTAddIconAsync(DTPBPtr paramBlock)                                    TWOWORDINLINE(0x7022, 0xA660);
  2237.  
  2238.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2239.                                                                                             #pragma parameter __D0 PBDTGetIconSync(__A0)
  2240.                                                                                             #endif
  2241. EXTERN_API( OSErr ) PBDTGetIconSync(DTPBPtr paramBlock)                                        TWOWORDINLINE(0x7023, 0xA260);
  2242.  
  2243.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2244.                                                                                             #pragma parameter __D0 PBDTGetIconAsync(__A0)
  2245.                                                                                             #endif
  2246. EXTERN_API( OSErr ) PBDTGetIconAsync(DTPBPtr paramBlock)                                    TWOWORDINLINE(0x7023, 0xA660);
  2247.  
  2248.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2249.                                                                                             #pragma parameter __D0 PBDTGetIconInfoSync(__A0)
  2250.                                                                                             #endif
  2251. EXTERN_API( OSErr ) PBDTGetIconInfoSync(DTPBPtr paramBlock)                                    TWOWORDINLINE(0x7024, 0xA260);
  2252.  
  2253.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2254.                                                                                             #pragma parameter __D0 PBDTGetIconInfoAsync(__A0)
  2255.                                                                                             #endif
  2256. EXTERN_API( OSErr ) PBDTGetIconInfoAsync(DTPBPtr paramBlock)                                TWOWORDINLINE(0x7024, 0xA660);
  2257.  
  2258.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2259.                                                                                             #pragma parameter __D0 PBDTAddAPPLSync(__A0)
  2260.                                                                                             #endif
  2261. EXTERN_API( OSErr ) PBDTAddAPPLSync(DTPBPtr paramBlock)                                        TWOWORDINLINE(0x7025, 0xA260);
  2262.  
  2263.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2264.                                                                                             #pragma parameter __D0 PBDTAddAPPLAsync(__A0)
  2265.                                                                                             #endif
  2266. EXTERN_API( OSErr ) PBDTAddAPPLAsync(DTPBPtr paramBlock)                                    TWOWORDINLINE(0x7025, 0xA660);
  2267.  
  2268.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2269.                                                                                             #pragma parameter __D0 PBDTRemoveAPPLSync(__A0)
  2270.                                                                                             #endif
  2271. EXTERN_API( OSErr ) PBDTRemoveAPPLSync(DTPBPtr paramBlock)                                    TWOWORDINLINE(0x7026, 0xA260);
  2272.  
  2273.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2274.                                                                                             #pragma parameter __D0 PBDTRemoveAPPLAsync(__A0)
  2275.                                                                                             #endif
  2276. EXTERN_API( OSErr ) PBDTRemoveAPPLAsync(DTPBPtr paramBlock)                                    TWOWORDINLINE(0x7026, 0xA660);
  2277.  
  2278.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2279.                                                                                             #pragma parameter __D0 PBDTGetAPPLSync(__A0)
  2280.                                                                                             #endif
  2281. EXTERN_API( OSErr ) PBDTGetAPPLSync(DTPBPtr paramBlock)                                        TWOWORDINLINE(0x7027, 0xA260);
  2282.  
  2283.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2284.                                                                                             #pragma parameter __D0 PBDTGetAPPLAsync(__A0)
  2285.                                                                                             #endif
  2286. EXTERN_API( OSErr ) PBDTGetAPPLAsync(DTPBPtr paramBlock)                                    TWOWORDINLINE(0x7027, 0xA660);
  2287.  
  2288.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2289.                                                                                             #pragma parameter __D0 PBDTSetCommentSync(__A0)
  2290.                                                                                             #endif
  2291. EXTERN_API( OSErr ) PBDTSetCommentSync(DTPBPtr paramBlock)                                    TWOWORDINLINE(0x7028, 0xA260);
  2292.  
  2293.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2294.                                                                                             #pragma parameter __D0 PBDTSetCommentAsync(__A0)
  2295.                                                                                             #endif
  2296. EXTERN_API( OSErr ) PBDTSetCommentAsync(DTPBPtr paramBlock)                                    TWOWORDINLINE(0x7028, 0xA660);
  2297.  
  2298.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2299.                                                                                             #pragma parameter __D0 PBDTRemoveCommentSync(__A0)
  2300.                                                                                             #endif
  2301. EXTERN_API( OSErr ) PBDTRemoveCommentSync(DTPBPtr paramBlock)                                TWOWORDINLINE(0x7029, 0xA260);
  2302.  
  2303.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2304.                                                                                             #pragma parameter __D0 PBDTRemoveCommentAsync(__A0)
  2305.                                                                                             #endif
  2306. EXTERN_API( OSErr ) PBDTRemoveCommentAsync(DTPBPtr paramBlock)                                TWOWORDINLINE(0x7029, 0xA660);
  2307.  
  2308.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2309.                                                                                             #pragma parameter __D0 PBDTGetCommentSync(__A0)
  2310.                                                                                             #endif
  2311. EXTERN_API( OSErr ) PBDTGetCommentSync(DTPBPtr paramBlock)                                    TWOWORDINLINE(0x702A, 0xA260);
  2312.  
  2313.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2314.                                                                                             #pragma parameter __D0 PBDTGetCommentAsync(__A0)
  2315.                                                                                             #endif
  2316. EXTERN_API( OSErr ) PBDTGetCommentAsync(DTPBPtr paramBlock)                                    TWOWORDINLINE(0x702A, 0xA660);
  2317.  
  2318.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2319.                                                                                             #pragma parameter __D0 PBDTFlushSync(__A0)
  2320.                                                                                             #endif
  2321. EXTERN_API( OSErr ) PBDTFlushSync(DTPBPtr paramBlock)                                        TWOWORDINLINE(0x702B, 0xA260);
  2322.  
  2323.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2324.                                                                                             #pragma parameter __D0 PBDTFlushAsync(__A0)
  2325.                                                                                             #endif
  2326. EXTERN_API( OSErr ) PBDTFlushAsync(DTPBPtr paramBlock)                                        TWOWORDINLINE(0x702B, 0xA660);
  2327.  
  2328.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2329.                                                                                             #pragma parameter __D0 PBDTResetSync(__A0)
  2330.                                                                                             #endif
  2331. EXTERN_API( OSErr ) PBDTResetSync(DTPBPtr paramBlock)                                        TWOWORDINLINE(0x702C, 0xA260);
  2332.  
  2333.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2334.                                                                                             #pragma parameter __D0 PBDTResetAsync(__A0)
  2335.                                                                                             #endif
  2336. EXTERN_API( OSErr ) PBDTResetAsync(DTPBPtr paramBlock)                                        TWOWORDINLINE(0x702C, 0xA660);
  2337.  
  2338.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2339.                                                                                             #pragma parameter __D0 PBDTGetInfoSync(__A0)
  2340.                                                                                             #endif
  2341. EXTERN_API( OSErr ) PBDTGetInfoSync(DTPBPtr paramBlock)                                        TWOWORDINLINE(0x702D, 0xA260);
  2342.  
  2343.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2344.                                                                                             #pragma parameter __D0 PBDTGetInfoAsync(__A0)
  2345.                                                                                             #endif
  2346. EXTERN_API( OSErr ) PBDTGetInfoAsync(DTPBPtr paramBlock)                                    TWOWORDINLINE(0x702D, 0xA660);
  2347.  
  2348.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2349.                                                                                             #pragma parameter __D0 PBDTOpenInform(__A0)
  2350.                                                                                             #endif
  2351. EXTERN_API( OSErr ) PBDTOpenInform(DTPBPtr paramBlock)                                        TWOWORDINLINE(0x702E, 0xA060);
  2352.  
  2353.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2354.                                                                                             #pragma parameter __D0 PBDTDeleteSync(__A0)
  2355.                                                                                             #endif
  2356. EXTERN_API( OSErr ) PBDTDeleteSync(DTPBPtr paramBlock)                                        TWOWORDINLINE(0x702F, 0xA060);
  2357.  
  2358.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2359.                                                                                             #pragma parameter __D0 PBDTDeleteAsync(__A0)
  2360.                                                                                             #endif
  2361. EXTERN_API( OSErr ) PBDTDeleteAsync(DTPBPtr paramBlock)                                        TWOWORDINLINE(0x702F, 0xA460);
  2362.  
  2363. /*  VolumeMount traps  */
  2364.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2365.                                                                                             #pragma parameter __D0 PBGetVolMountInfoSize(__A0)
  2366.                                                                                             #endif
  2367. EXTERN_API( OSErr ) PBGetVolMountInfoSize(ParmBlkPtr paramBlock)                            TWOWORDINLINE(0x703F, 0xA260);
  2368.  
  2369.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2370.                                                                                             #pragma parameter __D0 PBGetVolMountInfo(__A0)
  2371.                                                                                             #endif
  2372. EXTERN_API( OSErr ) PBGetVolMountInfo(ParmBlkPtr paramBlock)                                TWOWORDINLINE(0x7040, 0xA260);
  2373.  
  2374.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2375.                                                                                             #pragma parameter __D0 PBVolumeMount(__A0)
  2376.                                                                                             #endif
  2377. EXTERN_API( OSErr ) PBVolumeMount(ParmBlkPtr paramBlock)                                    TWOWORDINLINE(0x7041, 0xA260);
  2378.  
  2379. /*  FSp traps  */
  2380. EXTERN_API( OSErr )
  2381. FSMakeFSSpec                    (short                     vRefNum,
  2382.                                  long                     dirID,
  2383.                                  ConstStr255Param         fileName,
  2384.                                  FSSpec *                spec)                                TWOWORDINLINE(0x7001, 0xAA52);
  2385.  
  2386. EXTERN_API( OSErr )
  2387. FSpOpenDF                        (const FSSpec *            spec,
  2388.                                  SInt8                     permission,
  2389.                                  short *                refNum)                                TWOWORDINLINE(0x7002, 0xAA52);
  2390.  
  2391. EXTERN_API( OSErr )
  2392. FSpOpenRF                        (const FSSpec *            spec,
  2393.                                  SInt8                     permission,
  2394.                                  short *                refNum)                                TWOWORDINLINE(0x7003, 0xAA52);
  2395.  
  2396. EXTERN_API( OSErr )
  2397. FSpCreate                        (const FSSpec *            spec,
  2398.                                  OSType                 creator,
  2399.                                  OSType                 fileType,
  2400.                                  ScriptCode             scriptTag)                            TWOWORDINLINE(0x7004, 0xAA52);
  2401.  
  2402. EXTERN_API( OSErr )
  2403. FSpDirCreate                    (const FSSpec *            spec,
  2404.                                  ScriptCode             scriptTag,
  2405.                                  long *                    createdDirID)                        TWOWORDINLINE(0x7005, 0xAA52);
  2406.  
  2407. EXTERN_API( OSErr )
  2408. FSpDelete                        (const FSSpec *            spec)                                TWOWORDINLINE(0x7006, 0xAA52);
  2409.  
  2410. EXTERN_API( OSErr )
  2411. FSpGetFInfo                        (const FSSpec *            spec,
  2412.                                  FInfo *                fndrInfo)                            TWOWORDINLINE(0x7007, 0xAA52);
  2413.  
  2414. EXTERN_API( OSErr )
  2415. FSpSetFInfo                        (const FSSpec *            spec,
  2416.                                  const FInfo *            fndrInfo)                            TWOWORDINLINE(0x7008, 0xAA52);
  2417.  
  2418. EXTERN_API( OSErr )
  2419. FSpSetFLock                        (const FSSpec *            spec)                                TWOWORDINLINE(0x7009, 0xAA52);
  2420.  
  2421. EXTERN_API( OSErr )
  2422. FSpRstFLock                        (const FSSpec *            spec)                                TWOWORDINLINE(0x700A, 0xAA52);
  2423.  
  2424. EXTERN_API( OSErr )
  2425. FSpRename                        (const FSSpec *            spec,
  2426.                                  ConstStr255Param         newName)                            TWOWORDINLINE(0x700B, 0xAA52);
  2427.  
  2428. EXTERN_API( OSErr )
  2429. FSpCatMove                        (const FSSpec *            source,
  2430.                                  const FSSpec *            dest)                                TWOWORDINLINE(0x700C, 0xAA52);
  2431.  
  2432. EXTERN_API( OSErr )
  2433. FSpExchangeFiles                (const FSSpec *            source,
  2434.                                  const FSSpec *            dest)                                TWOWORDINLINE(0x700F, 0xAA52);
  2435.  
  2436.  
  2437.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2438.                                                                                             #pragma parameter __D0 PBShareSync(__A0)
  2439.                                                                                             #endif
  2440. EXTERN_API( OSErr ) PBShareSync(HParmBlkPtr paramBlock)                                        TWOWORDINLINE(0x7042, 0xA260);
  2441.  
  2442.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2443.                                                                                             #pragma parameter __D0 PBShareAsync(__A0)
  2444.                                                                                             #endif
  2445. EXTERN_API( OSErr ) PBShareAsync(HParmBlkPtr paramBlock)                                    TWOWORDINLINE(0x7042, 0xA660);
  2446.  
  2447.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2448.                                                                                             #pragma parameter __D0 PBUnshareSync(__A0)
  2449.                                                                                             #endif
  2450. EXTERN_API( OSErr ) PBUnshareSync(HParmBlkPtr paramBlock)                                    TWOWORDINLINE(0x7043, 0xA260);
  2451.  
  2452.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2453.                                                                                             #pragma parameter __D0 PBUnshareAsync(__A0)
  2454.                                                                                             #endif
  2455. EXTERN_API( OSErr ) PBUnshareAsync(HParmBlkPtr paramBlock)                                    TWOWORDINLINE(0x7043, 0xA660);
  2456.  
  2457.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2458.                                                                                             #pragma parameter __D0 PBGetUGEntrySync(__A0)
  2459.                                                                                             #endif
  2460. EXTERN_API( OSErr ) PBGetUGEntrySync(HParmBlkPtr paramBlock)                                TWOWORDINLINE(0x7044, 0xA260);
  2461.  
  2462.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2463.                                                                                             #pragma parameter __D0 PBGetUGEntryAsync(__A0)
  2464.                                                                                             #endif
  2465. EXTERN_API( OSErr ) PBGetUGEntryAsync(HParmBlkPtr paramBlock)                                TWOWORDINLINE(0x7044, 0xA660);
  2466.  
  2467.  
  2468.  
  2469.  
  2470. #if TARGET_CPU_68K
  2471. /*
  2472.     PBGetAltAccess and PBSetAltAccess are obsolete and will not be supported 
  2473.     on PowerPC. Equivalent functionality is provided by the routines 
  2474.     PBGetForeignPrivs and PBSetForeignPrivs.
  2475. */
  2476.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2477.                                                                                             #pragma parameter __D0 PBGetAltAccessSync(__A0)
  2478.                                                                                             #endif
  2479. EXTERN_API( OSErr ) PBGetAltAccessSync(HParmBlkPtr paramBlock)                                TWOWORDINLINE(0x7060, 0xA060);
  2480.  
  2481.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2482.                                                                                             #pragma parameter __D0 PBGetAltAccessAsync(__A0)
  2483.                                                                                             #endif
  2484. EXTERN_API( OSErr ) PBGetAltAccessAsync(HParmBlkPtr paramBlock)                                TWOWORDINLINE(0x7060, 0xA460);
  2485.  
  2486.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2487.                                                                                             #pragma parameter __D0 PBSetAltAccessSync(__A0)
  2488.                                                                                             #endif
  2489. EXTERN_API( OSErr ) PBSetAltAccessSync(HParmBlkPtr paramBlock)                                TWOWORDINLINE(0x7061, 0xA060);
  2490.  
  2491.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2492.                                                                                             #pragma parameter __D0 PBSetAltAccessAsync(__A0)
  2493.                                                                                             #endif
  2494. EXTERN_API( OSErr ) PBSetAltAccessAsync(HParmBlkPtr paramBlock)                                TWOWORDINLINE(0x7061, 0xA460);
  2495.  
  2496. #define PBSetAltAccess(pb, async) ((async) ? PBSetAltAccessAsync(pb) : PBSetAltAccessSync(pb))
  2497. #define PBGetAltAccess(pb, async) ((async) ? PBGetAltAccessAsync(pb) : PBGetAltAccessSync(pb))
  2498. #endif  /* TARGET_CPU_68K */
  2499.  
  2500.  
  2501. /*
  2502.     The PBxxx() routines are obsolete.  
  2503.     
  2504.     Use the PBxxxSync() or PBxxxAsync() version instead.
  2505. */
  2506. #define PBGetVInfo(pb, async) ((async) ? PBGetVInfoAsync(pb) : PBGetVInfoSync(pb))
  2507. #define PBXGetVolInfo(pb, async) ((async) ? PBXGetVolInfoAsync(pb) : PBXGetVolInfoSync(pb))
  2508. #define PBGetVol(pb, async) ((async) ? PBGetVolAsync(pb) : PBGetVolSync(pb))
  2509. #define PBSetVol(pb, async) ((async) ? PBSetVolAsync(pb) : PBSetVolSync(pb))
  2510. #define PBFlushVol(pb, async) ((async) ? PBFlushVolAsync(pb) : PBFlushVolSync(pb))
  2511. #define PBCreate(pb, async) ((async) ? PBCreateAsync(pb) : PBCreateSync(pb))
  2512. #define PBDelete(pb, async) ((async) ? PBDeleteAsync(pb) : PBDeleteSync(pb))
  2513. #define PBOpenDF(pb, async) ((async) ? PBOpenDFAsync(pb) : PBOpenDFSync(pb))
  2514. #define PBOpenRF(pb, async) ((async) ? PBOpenRFAsync(pb) : PBOpenRFSync(pb))
  2515. #define PBRename(pb, async) ((async) ? PBRenameAsync(pb) : PBRenameSync(pb))
  2516. #define PBGetFInfo(pb, async) ((async) ? PBGetFInfoAsync(pb) : PBGetFInfoSync(pb))
  2517. #define PBSetFInfo(pb, async) ((async) ? PBSetFInfoAsync(pb) : PBSetFInfoSync(pb))
  2518. #define PBSetFLock(pb, async) ((async) ? PBSetFLockAsync(pb) : PBSetFLockSync(pb))
  2519. #define PBRstFLock(pb, async) ((async) ? PBRstFLockAsync(pb) : PBRstFLockSync(pb))
  2520. #define PBSetFVers(pb, async) ((async) ? PBSetFVersAsync(pb) : PBSetFVersSync(pb))
  2521. #define PBAllocate(pb, async) ((async) ? PBAllocateAsync(pb) : PBAllocateSync(pb))
  2522. #define PBGetEOF(pb, async) ((async) ? PBGetEOFAsync(pb) : PBGetEOFSync(pb))
  2523. #define PBSetEOF(pb, async) ((async) ? PBSetEOFAsync(pb) : PBSetEOFSync(pb))
  2524. #define PBGetFPos(pb, async) ((async) ? PBGetFPosAsync(pb) : PBGetFPosSync(pb))
  2525. #define PBSetFPos(pb, async) ((async) ? PBSetFPosAsync(pb) : PBSetFPosSync(pb))
  2526. #define PBFlushFile(pb, async) ((async) ? PBFlushFileAsync(pb) : PBFlushFileSync(pb))
  2527. #define PBCatSearch(pb, async) ((async) ? PBCatSearchAsync(pb) : PBCatSearchSync(pb))
  2528. #define PBOpenWD(pb, async) ((async) ? PBOpenWDAsync(pb) : PBOpenWDSync(pb))
  2529. #define PBCloseWD(pb, async) ((async) ? PBCloseWDAsync(pb) : PBCloseWDSync(pb))
  2530. #define PBHSetVol(pb, async) ((async) ? PBHSetVolAsync(pb) : PBHSetVolSync(pb))
  2531. #define PBHGetVol(pb, async) ((async) ? PBHGetVolAsync(pb) : PBHGetVolSync(pb))
  2532. #define PBCatMove(pb, async) ((async) ? PBCatMoveAsync(pb) : PBCatMoveSync(pb))
  2533. #define PBDirCreate(pb, async) ((async) ? PBDirCreateAsync(pb) : PBDirCreateSync(pb))
  2534. #define PBGetWDInfo(pb, async) ((async) ? PBGetWDInfoAsync(pb) : PBGetWDInfoSync(pb))
  2535. #define PBGetFCBInfo(pb, async) ((async) ? PBGetFCBInfoAsync(pb) : PBGetFCBInfoSync(pb))
  2536. #define PBGetCatInfo(pb, async) ((async) ? PBGetCatInfoAsync(pb) : PBGetCatInfoSync(pb))
  2537. #define PBSetCatInfo(pb, async) ((async) ? PBSetCatInfoAsync(pb) : PBSetCatInfoSync(pb))
  2538. #define PBAllocContig(pb, async) ((async) ? PBAllocContigAsync(pb) : PBAllocContigSync(pb))
  2539. #define PBLockRange(pb, async) ((async) ? PBLockRangeAsync(pb) : PBLockRangeSync(pb))
  2540. #define PBUnlockRange(pb, async) ((async) ? PBUnlockRangeAsync(pb) : PBUnlockRangeSync(pb))
  2541. #define PBSetVInfo(pb, async) ((async) ? PBSetVInfoAsync(pb) : PBSetVInfoSync(pb))
  2542. #define PBHGetVInfo(pb, async) ((async) ? PBHGetVInfoAsync(pb) : PBHGetVInfoSync(pb))
  2543. #define PBHOpen(pb, async) ((async) ? PBHOpenAsync(pb) : PBHOpenSync(pb))
  2544. #define PBHOpenRF(pb, async) ((async) ? PBHOpenRFAsync(pb) : PBHOpenRFSync(pb))
  2545. #define PBHOpenDF(pb, async) ((async) ? PBHOpenDFAsync(pb) : PBHOpenDFSync(pb))
  2546. #define PBHCreate(pb, async) ((async) ? PBHCreateAsync(pb) : PBHCreateSync(pb))
  2547. #define PBHDelete(pb, async) ((async) ? PBHDeleteAsync(pb) : PBHDeleteSync(pb))
  2548. #define PBHRename(pb, async) ((async) ? PBHRenameAsync(pb) : PBHRenameSync(pb))
  2549. #define PBHRstFLock(pb, async) ((async) ? PBHRstFLockAsync(pb) : PBHRstFLockSync(pb))
  2550. #define PBHSetFLock(pb, async) ((async) ? PBHSetFLockAsync(pb) : PBHSetFLockSync(pb))
  2551. #define PBHGetFInfo(pb, async) ((async) ? PBHGetFInfoAsync(pb) : PBHGetFInfoSync(pb))
  2552. #define PBHSetFInfo(pb, async) ((async) ? PBHSetFInfoAsync(pb) : PBHSetFInfoSync(pb))
  2553. #define PBMakeFSSpec(pb, async) ((async) ? PBMakeFSSpecAsync(pb) : PBMakeFSSpecSync(pb))
  2554. #define PBHGetVolParms(pb, async) ((async) ? PBHGetVolParmsAsync(pb) : PBHGetVolParmsSync(pb))
  2555. #define PBHGetLogInInfo(pb, async) ((async) ? PBHGetLogInInfoAsync(pb) : PBHGetLogInInfoSync(pb))
  2556. #define PBHGetDirAccess(pb, async) ((async) ? PBHGetDirAccessAsync(pb) : PBHGetDirAccessSync(pb))
  2557. #define PBHSetDirAccess(pb, async) ((async) ? PBHSetDirAccessAsync(pb) : PBHSetDirAccessSync(pb))
  2558. #define PBHMapID(pb, async) ((async) ? PBHMapIDAsync(pb) : PBHMapIDSync(pb))
  2559. #define PBHMapName(pb, async) ((async) ? PBHMapNameAsync(pb) : PBHMapNameSync(pb))
  2560. #define PBHCopyFile(pb, async) ((async) ? PBHCopyFileAsync(pb) : PBHCopyFileSync(pb))
  2561. #define PBHMoveRename(pb, async) ((async) ? PBHMoveRenameAsync(pb) : PBHMoveRenameSync(pb))
  2562. #define PBHOpenDeny(pb, async) ((async) ? PBHOpenDenyAsync(pb) : PBHOpenDenySync(pb))
  2563. #define PBHOpenRFDeny(pb, async) ((async) ? PBHOpenRFDenyAsync(pb) : PBHOpenRFDenySync(pb))
  2564. #define PBExchangeFiles(pb, async) ((async) ? PBExchangeFilesAsync(pb) : PBExchangeFilesSync(pb))
  2565. #define PBCreateFileIDRef(pb, async) ((async) ? PBCreateFileIDRefAsync(pb) : PBCreateFileIDRefSync(pb))
  2566. #define PBResolveFileIDRef(pb, async) ((async) ? PBResolveFileIDRefAsync(pb) : PBResolveFileIDRefSync(pb))
  2567. #define PBDeleteFileIDRef(pb, async) ((async) ? PBDeleteFileIDRefAsync(pb) : PBDeleteFileIDRefSync(pb))
  2568. #define PBGetForeignPrivs(pb, async) ((async) ? PBGetForeignPrivsAsync(pb) : PBGetForeignPrivsSync(pb))
  2569. #define PBSetForeignPrivs(pb, async) ((async) ? PBSetForeignPrivsAsync(pb) : PBSetForeignPrivsSync(pb))
  2570. #define PBDTAddIcon(pb, async) ((async) ? PBDTAddIconAsync(pb) : PBDTAddIconSync(pb))
  2571. #define PBDTGetIcon(pb, async) ((async) ? PBDTGetIconAsync(pb) : PBDTGetIconSync(pb))
  2572. #define PBDTGetIconInfo(pb, async) ((async) ? PBDTGetIconInfoAsync(pb) : PBDTGetIconInfoSync(pb))
  2573. #define PBDTAddAPPL(pb, async) ((async) ? PBDTAddAPPLAsync(pb) : PBDTAddAPPLSync(pb))
  2574. #define PBDTRemoveAPPL(pb, async) ((async) ? PBDTRemoveAPPLAsync(pb) : PBDTRemoveAPPLSync(pb))
  2575. #define PBDTGetAPPL(pb, async) ((async) ? PBDTGetAPPLAsync(pb) : PBDTGetAPPLSync(pb))
  2576. #define PBDTSetComment(pb, async) ((async) ? PBDTSetCommentAsync(pb) : PBDTSetCommentSync(pb))
  2577. #define PBDTRemoveComment(pb, async) ((async) ? PBDTRemoveCommentAsync(pb) : PBDTRemoveCommentSync(pb))
  2578. #define PBDTGetComment(pb, async) ((async) ? PBDTGetCommentAsync(pb) : PBDTGetCommentSync(pb))
  2579. #define PBDTFlush(pb, async) ((async) ? PBDTFlushAsync(pb) : PBDTFlushSync(pb))
  2580. #define PBDTReset(pb, async) ((async) ? PBDTResetAsync(pb) : PBDTResetSync(pb))
  2581. #define PBDTGetInfo(pb, async) ((async) ? PBDTGetInfoAsync(pb) : PBDTGetInfoSync(pb))
  2582. #define PBDTDelete(pb, async) ((async) ? PBDTDeleteAsync(pb) : PBDTDeleteSync(pb))
  2583. #if OLDROUTINELOCATIONS
  2584. #define PBOpen(pb, async) ((async) ? PBOpenAsync(pb) : PBOpenSync(pb))
  2585. #define PBClose(pb, async) ((async) ? PBCloseAsync(pb) : PBCloseSync(pb))
  2586. #define PBRead(pb, async) ((async) ? PBReadAsync(pb) : PBReadSync(pb))
  2587. #define PBWrite(pb, async) ((async) ? PBWriteAsync(pb) : PBWriteSync(pb))
  2588. #endif  /* OLDROUTINELOCATIONS */
  2589.  
  2590.  
  2591. #if PRAGMA_STRUCT_ALIGN
  2592.     #pragma options align=reset
  2593. #elif PRAGMA_STRUCT_PACKPUSH
  2594.     #pragma pack(pop)
  2595. #elif PRAGMA_STRUCT_PACK
  2596.     #pragma pack()
  2597. #endif
  2598.  
  2599. #ifdef PRAGMA_IMPORT_OFF
  2600. #pragma import off
  2601. #elif PRAGMA_IMPORT
  2602. #pragma import reset
  2603. #endif
  2604.  
  2605. #ifdef __cplusplus
  2606. }
  2607. #endif
  2608.  
  2609. #endif /* __FILES__ */
  2610.  
  2611.